#matlab #visual-c #boost #linker-errors #mex
#matlab #visual-c #повысить #компоновщик-ошибки #mex
Вопрос:
Я установил файлы boost и все остальное, но каждый раз, когда я запускаю эту программу в matlab, я получаю ССЫЛКУ: неустранимая ошибка LNK1104: не удается открыть файл ‘libboost_thread-vc120-mt-1_55.lib’ Я смог связать каталог boost в Visual Studio просто отлично, но, похоже, он не работает с папкой libs.
Комментарии:
1. указывает ли ваша
LD_LIBRARY_PATH
переменная среды на папку, в которой находятся файлы boost lib?2. @Shai
LD_LIBRARY_PATH
не имеет значения в Windows. @user149478, LNK1104 — ошибка времени соединения, это происходит, когда компоновщик VC не может найти определенную статическую библиотеку. Убедитесь, что вы задали правильные пути компоновщика в VisualStudio, и на этом пути естьlibboost_thread-vc120-mt-1_55.lib
. Если вы вообще не можете найти вышеупомянутый файл, возможно, вы не создалиBoost.Thread
?3. @user149478: будьте более конкретны, вы компилируете MEX-функцию, которая ссылается на Boost? Это было бы что-то вроде:
mex somefile.cpp -L"C:pathtolibs" -lsomelib
4. Мне пришлось связать путь boost, чтобы заставить работать другие файлы boost, затем я также связал путь к библиотеке boost (где находится libboost_thread-vc120-mt-1_55.lib.) Я проверил, чтобы убедиться, и да, libboost_thread-vc120-mt-1_55.lib находится по этому пути. Чтобы быть более конкретным, функция MEX ссылается на файлы .h, которые ссылаются на boost.
5. @user149478 вы не «связываете путь к ускорению», это неправильный temr. Просто добавьте корневой путь boost к путям компилятора и расположение файлов boost lib к путям компоновщика — это 2 отдельных элемента в свойствах проекта VS.