Ошибки компоновщика libxml2 в Microsoft Visual Studio 2013
Я портирую некоторый код C++, который был скомпилирован с помощью cmake и gcc под Linux, на более крупный проект Windows. Мы используем Microsoft Visual Studio 2013, и проект представляет собой простой инструмент командной строки, встроенный в режиме выпуска, x64. Я получаю кучу ошибок компоновщика при линковке с libxml2 и libxslt. Сначала я попытался загрузить готовые двоичные файлы, но когда это не сработало, я попытался собрать libxml2 и libxslt самостоятельно. Я скачал исходный код для libxml2-2.7.8 и построил его так:
cscript configure.js compiler=msvc-12.0 modules=no http=no ftp=no python=no schematron=no iconv=no static=yes
nmake
Это было успешно, получив libxml2.lib и libxml2_a.lib. Затем я добавил пути к этим библиотекам к пути компоновщика в настройках моего проекта и добавил имена библиотек для ввода компоновщиком дополнительных зависимостей. Я следовал этим же инструкциям для libxslt. Когда я строю свой проект в MSVC, я получаю следующие ошибки:
Error 1 error LNK2001: unresolved external symbol xsltParseStylesheetFile C:\Users\aday\Source\Workspaces\Illumina.Isis\Dev\Trunk\Src\bcl2fastq\DemuxReportGenerator.obj bcl2fastq
Error 2 error LNK2001: unresolved external symbol xmlSubstituteEntitiesDefault C:\Users\aday\Source\Workspaces\Illumina.Isis\Dev\Trunk\Src\bcl2fastq\DemuxReportGenerator.obj bcl2fastq
Error 3 error LNK2001: unresolved external symbol xmlFreeDoc C:\Users\aday\Source\Workspaces\Illumina.Isis\Dev\Trunk\Src\bcl2fastq\DemuxReportGenerator.obj bcl2fastq
Error 4 error LNK2001: unresolved external symbol xmlCleanupParser C:\Users\aday\Source\Workspaces\Illumina.Isis\Dev\Trunk\Src\bcl2fastq\DemuxReportGenerator.obj bcl2fastq
Error 5 error LNK2001: unresolved external symbol xsltCleanupGlobals C:\Users\aday\Source\Workspaces\Illumina.Isis\Dev\Trunk\Src\bcl2fastq\DemuxReportGenerator.obj bcl2fastq
Error 6 error LNK2001: unresolved external symbol xmlLoadExtDtdDefaultValue C:\Users\aday\Source\Workspaces\Illumina.Isis\Dev\Trunk\Src\bcl2fastq\DemuxReportGenerator.obj bcl2fastq
Error 7 error LNK2001: unresolved external symbol xsltFreeStylesheet C:\Users\aday\Source\Workspaces\Illumina.Isis\Dev\Trunk\Src\bcl2fastq\DemuxReportGenerator.obj bcl2fastq
Error 8 error LNK2001: unresolved external symbol xsltApplyStylesheet C:\Users\aday\Source\Workspaces\Illumina.Isis\Dev\Trunk\Src\bcl2fastq\DemuxReportGenerator.obj bcl2fastq
Error 9 error LNK2001: unresolved external symbol exsltRegisterAll C:\Users\aday\Source\Workspaces\Illumina.Isis\Dev\Trunk\Src\bcl2fastq\DemuxReportGenerator.obj bcl2fastq
Error 10 error LNK2001: unresolved external symbol xmlParseFile C:\Users\aday\Source\Workspaces\Illumina.Isis\Dev\Trunk\Src\bcl2fastq\DemuxReportGenerator.obj bcl2fastq
Я понятия не имею, почему эти ошибки компоновщика происходят. Библиотеки находятся в пути и явно связаны с. Если я перемещаю библиотеку в сторону и пытаюсь ее собрать, я получаю сообщение об ошибке, в котором говорится, что файл не найден. Так что я знаю, что он видит файлы, но по какой-то причине не может прочитать символы из них. Я пытался собрать библиотеки с любой возможной комбинацией параметров, но безуспешно. Я пытался связать с libxml2_a.lib и libxml2.lib. Я успешно связываюсь с аналогично созданными библиотеками наддува. Почему я получаю эти ошибки компоновщика?