1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

to VladimirMonahov

Тема в разделе "RenderMan", создана пользователем -, 30 окт 2002.

Модераторы: Moderator.
  1. Guest

    Попробовал скомпилить пример menger.c с www.affine.org, опять тоже:
    --------------------Configuration: menger - Win32 Debug--------------------
    Compiling...
    menger.c
    Linking...
    Creating library Debug/menger.lib and object Debug/menger.exp
    LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
    Debug/menger.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.
    menger.exe - 2 error(s), 0 warning(s)

    Сорри за непонятливость. Буду очень благодарен, если скажете по действиям как это у Вас скомпилилось, по шагам.
     
  2. Guest

    1. А ribbtree у Вас скомпилилось? Для компиляции Ribtree нужен хедер ripriv.h из Affine Toolkit, а я забыл Вам его кинуть.

    2. Если ribtree.c Вы можете просто открыть в Visual Studio и скомпилить его просто как консольное приложение, то для menger.c вы должны создать проект Win32 Dynamic-Link Library.

    4. В Tools->Options->Directories у Вас должны быть прописаны пути:
    C:\Pixar\prman-10.0\include
    C:\Pixar\prman-10.0\lib
    C:\affine0008\include (для ribtree, для menger не надо)
    в соответствующих местах (library files, include files...)

    В Project->Settings->Link->Obect/Library modules добавьте prman.lib

    5. Для компиляции menger совершаем следующие действия:
    New->Projects->Win32 Dynamic-Link Library->Empty DLL Project

    Project->Add To Project->Files->menger.c

    Build->Build menger.dll
     
  3. Guest

    Tovarishi a chego eto takoe merger.c
    Kakoi soft/plug/dso ?
     
  4. Guest

    Не merger - meNger.

    Google как всегда спасает отцов русской демократии :))

    http://www.affine.org/menger.html
    http://www.affine.org/mengerDSO.html

    Вот ещё оный:

    http://multimedia.polito.it/carotti/Projects.html
     
  5. Guest

    Радостно: mergen.dll скомпилировалось, оно и не могло не скомпилироваться, судя по такой подробной инструкции. Спасибо.

    Но все же, тупить, так тупить до конца.
    Я, конечно, прочитаю www.affine.org до конца, но можно несколько слов на русском о том, что такое affine toolkit и для чего это нужно.

    Как получить ту картинку с квадратиками?
    Вроде бы надо ехе файл получить, чтоб направить его в stdin prman-а?
     
  6. Guest

    Если под картинкой с квадратиками Вы подразумеваете http://www.affine.org/figuremenger6.JPG, то для получения оной в конце странички http://www.affine.org/mengerDSO.html#menger.rib есть menger.rib, который следует скормить prman'у, заменив в нём menger.so на menger.dll (предварительно положите menger.dll туда же, где будет лежать menger.rib)
     
  7. Guest

    Да, все так.
    Запустился prman, окошко для отображениея картинок (iv по-моему). После, примерно, 10 секунд раздумий, видноус 2к выдает не картинку, а окошко с обычным собщением ошибки:

    --------------------------------------------------------------
    The instruction at "0x0040800f" referenced memory at "0x00000010". The memory couldnt be "written".

    Click on OK to terminate the program
    Click on CANCEL to debug the program

    OK Cancel
    --------------------------------------------------------------
    Набивать подробно мен не лень :))), просто оч. хочется разобраться.
    По-моему он написал, о том, что не смог выполнить команду запись в ячейку, на которую ссылка в ячейке с instruction. Ну да ладно.
    Скажите, а у вас такие же проблемы были? Есть ли идеи, из-за чего такая фигня и как поправить?
    Можно ли примеры из компаньона делать таким же макаром?

    Вот мои действия:
    1. Включаю msvc.
    2. New->Projects->Win32 Dynamic-Link Library->Empty DLL Project
    3. Project->Add To Project->Files->menger.c
    4. Build->Build menger.dll
    5. В menger.rib изменяю so на dll.
    6. Применяю prman.exe к файлу menger.rib
     
  8. Guest

    Я отравил Вам по почте скомпилированный мною и проверенный menger.dll и menger.rib. Если оно не сработает, тогда, думаю, что-то криво у Вас в системе.

    > Можно ли примеры из компаньона делать
    > таким же макаром?

    Я не помню, что было в примерах из RC.
    Когда то их слил, посмотрел, но компилить не стал, а потом куда-то спрятал, найти не могу.

    Если будет на неделе время, солью ещё раз, посмотрю.
     
  9. Guest

    вроде нашел ошибку (слишком много и не тех библиотек подключал).
    Огромное спасибо!
    Теперь все компилится. Компаньон компилиться и в *.exe и в *.dll. По моему его все-таки в длл надо (точно не знаю от неграмонтости).
    Пока пытаюсь компаньонский dll из риба правильно вызвать.
     
Модераторы: Moderator.

Поделиться этой страницей