Я использовал CMake и Visual C ++ для создания библиотеки HyDE.Затем, еще в VC ++, я смог успешно создать код и создать исполняемый файл, который ссылается на HyDE.lib и заголовочные файлы HyDE.
Затем я обнаружил, что для работы с другими в моей компании онбыло бы предпочтительнее разрабатывать в Eclipse CDT.Зная очень мало о Eclipse CDT, я создал проект hello world по умолчанию, удалил код и затем поместил весь мой код в папку src.Затем я попытался изменить пути include и lib и libs, чтобы отразить то, что работало в VC ++.В этот момент все, кажется, компилируется, но я получаю сообщение об ошибке:
/ cygdrive / c / EclipseWorkspace / 425HyDE / Debug /../ src / FS5HyDE.cpp: 16: неопределенная ссылка на`HyDEAPI :: HyDE :: HyDE (HyDESystemModel :: SystemModel *, bool) '
(Есть еще много подобных ошибок, все ссылаются на методы HyDE.) Вот что выполняетсякомандная строка:
g ++ -L "C: \ Progra ~ 1 \ boost \ boost_1_42 \ lib" -L "C: \ EclipseWorkspace \ HyDE" -o "425HyDE.exe" ./src/Adapter_FS5HyDE.o ./src/EPSCommands.o ./src/EPSCurrentSensor.o ./src/EPSFault.o ./src/FS5HyDE.o ./src/HyDEObservation.o ./src/MCDH.o ./scMCDH_Module.o ./src/PDBComponent.o ./src/PowerSystem.o ./src/Program.o ./src/SSPCComponent.o ./src/Telemetry.o ./src/TelemetryReport.o -l: libboost_thvc90-mt-gd-1_42.lib -lHyDE
Это определенно не проблема с упорядочением библиотек, потому что у меня есть и другой порядок (всего два).Возможно ли, что есть проблема с компиляцией HyDE.lib в VC ++ (который использует компилятор Windows) и компиляцией моей программы с g ++?Может ли быть проблема в том, что Eclipse CDT автоматически генерирует make-файлы?Любые другие идеи?
(Примечание: кажется, что есть много других вопросов по SO с аналогичными проблемами, но после прочтения их мне еще не удалось найти такой, который решает мою проблему.)