скомпилировать и связать OpenEXR emscripten с несколькими определениями основной функции

#emscripten #freeimage #openexr

#emscripten #freeimage #openexr

Вопрос:

Я пытаюсь скомпилировать OpenEXR with emscripten и связать его с моей программой, которая в конечном итоге станет html файлом.

У меня нет проблем с компиляцией OpenEXR with emscripten . Проблема заключается в том, когда я пытаюсь связать .bc файл с моим приложением. Я получаю сообщение об ошибке, в котором говорится

«EXEC : ошибка: связывание глобальных объектов с именем ‘main’: определено умножение символов!».

Я отследил эту ошибку и обнаружил, что внутри main одного из файлов CPP внутри OpenEXR есть функция. это b44ExpLogTable.cpp

Поэтому я не могу связать свою программу с OpenEXR.bc библиотекой, потому что у меня есть основная функция и b44ExpLogTable.cpp также имеет main функцию.

Я не знаю, как это обойти. Если я попытаюсь скомпилировать OpenEXR using MSVC , у меня не возникнет этой проблемы.

Кто-нибудь знает, как решить эту проблему?

Ответ №1:

b44ExpLogTable.cpp это генератор исходного кода, который необходим только для генерации тех же статических массивов, которые связаны с библиотекой OpenEXR. Так что на самом деле это программа сама по себе, которая содержит main функцию.