Я успешно создаю PCL для 64-битных окон с помощью CMake и Visual Studio 2013. Я создал все зависимости самостоятельно (boost, Flann, QHull и VTK) , Теперь мне нужно создать 32-битную версию. К сожалению, у CMake есть проблемы с ссылкой на библиотеки VTK. Для 64 бит он добавляет полный путь к файлам проектов визуальной студии, например. "D: \ path \ to \ vtk \ 64 \ vtk-6.1.lib". Но для 32 бит он добавляет только «vtk.lib». Даже номер версии отсутствует, который всегда является частью имени файла. У компилятора нет возможности его найти. Было бы очень громоздко исправлять все проекты PCL самостоятельно.CMake создает неполные ссылки vtk при создании проектов PCL для 32-разрядной Visual Studio
Я уже сравнивал файлы CMakeCache.txt для 32 и 64 бит. За исключением различий 32/64 бит, они равны.
Есть ли кто-нибудь, что я могу сделать неправильно?
Пожалуйста, предоставьте [минимальный пример] (http://stackoverflow.com/help/mcve), который воспроизводит это поведение. Кроме того, как вы собираете 32-битный пакет на 64-битной платформе? Вы используете кросс-компиляцию? Если да, укажите код используемого вами инструментального файла CMake. – Tsyvarev
К сожалению, я не могу предоставить минимальный пример. Библиотека PCL вместе со своими зависимостями составляет несколько Giga Bytes. Создание 32-битных библиотек в 64-битных окнах не является проблемой. Вы можете просто указать CMake либо на Visual Studio 2015, либо на Visual Studio 2015 x64. Но теперь я смог найти решение, но не основную причину. Пожалуйста, прочитайте ниже ... – chuchu42