Почему мой компоновщик ищет Coin4sd.lib после того, как нашел Coin4d.lib?
Я использую библиотеку Coin 4.0.0 (https://github.com/coin3d/coin) для определенного проекта. При создании этой библиотеки с помощью CMake я получаю, среди прочего, следующие файлы:
bin
|-- Coin4d.dll
`-- Coin4d.pdb
lib
|-- Coin4d.lib
Что мне нравится. Затем мы используемqmake
для создания нашего финального исполняемого файла. В моем qmake.pro
файл у меня есть
LIBS += -lCoin4d
Однако когда финал .exe
связаны вместе с помощью компоновщика Visual Studio 2015, тогда я вижу, что он сначала ищет (и находит) Coin4d.lib
:
Searching D:/SVN/simcad/trunkd/ThirdParty/Coin/install/lib\Coin4d.lib:
Однако чуть позже я получаю ошибку компоновщика
LINK : fatal error LNK1104: cannot open file 'Coin4sd.lib'
Обратите внимание на дополнительные буквы в имени файла библиотеки!
Понятия не имею, почему компоновщик также ищет Coin4sd.lib
после того, как он нашел Coin4d.lib
. Я хотел бы это выяснять систематически, но не знаю, с чего начать.
Итак, мой вопрос: какие инструменты / команды я могу использовать, чтобы систематически выяснять, почему мой компоновщик также ищет Coin4sd.lib
после того, как он, по-видимому, впервые нашел Coin4d.lib
? Стоит ли мне исследовать библиотеки, которые используются для создания финального исполняемого файла, и проверить, не относятся ли они как-то кCoin4sd.lib
?
1 ответ
Я узнал, что использовал COIN_DLL
как определить, что, по-видимому, заставило меня Coin4d.*
имена файлов. Когда я используюCOIN_NOT_DLL
то, если я правильно понимаю, статическая версия библиотеки (с именем файла Coin4sd.*
), и мой компоновщик больше не жалуется.