#html #c #cmake #linker #mingw
#HTML #c #cmake #компоновщик #mingw
Вопрос:
https://docs.ultralig.ht/docs/writing-your-first-app
Я хотел запустить демо-приложение, предоставленное ultralight.
Я запустил
git clone https://github.com/ultralight-ux/ultralight-quick-start
cd ultralight-quick-start
mkdir build
cd build
cmake ..
cmake --build . --config Release
Но последняя команда выдает 40 неопределенных ошибок ссылки.
Первый из них:
CMakeFilesMyApp.dir/objects.a(MyApp.cpp.obj):MyApp.cpp:(.text 0x140): undefined reference to `__imp__ZN10ultralight3App6CreateENS_8SettingsENS_6ConfigE'
Почему это работает не так, как должно?
Я использую gcc и g из MinGW, предоставленные с CodeBlocks, и я настраиваю cmake для создания проекта CodeBlocks.
Последняя команда пытается скомпилировать проект, и я думал, что все это уже настроено для правильной работы, но, похоже, это не так. Я добавил все четыре файла из ultralight-quick-start build SDK lib (AppCore.lib, Ultralight.lib, UltralightCore.lib и WebCore.lib) в Link libraries
in Compiler settings
в CodeBlocks, но ошибки остаются.
Я думаю, что ultralight не имеет значения, и я просто не понимаю, как работает компоновщик, но я не могу преодолеть эту проблему.
Ответ №1:
Если у вас x64
платформа Windows, вы должны запустить сборку со следующим примечанием:
cmake .. -DCMAKE_GENERATOR_PLATFORM=x64
вместо cmake ..