Установка Quantlib в Windows с использованием CMAKE и VSCODEC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Установка Quantlib в Windows с использованием CMAKE и VSCODE

Сообщение Anonymous »

Я пытаюсь установить Quantlib для работы с VS -кодом (я уже установил его с помощью VS Studio), однако я сталкиваюсь с проблемой, и я не могу понять, что я делаю не так. Примечание: я нахожусь в Windows. < /em> < /p>
Я очень новичок в Cmake и т. Д., Я всегда работал через визуальную студию. Я вижу это в C: \ msys64 \ mingw64 \ bin, который я добавил к переменным среды. />[*]I downloaded a zip with the latest release of Quantlib and extracted in a folder inside my C drive.
[*]In VS Code I downloaded all the extensions needed : C/C++, C/C++ extension pack, Cmake tools

Now to build:
I open the Qlib folder with VS code and through the VS-кодовый терминал I перейти в папку сборки (она совершенно пуста) < /p>
c: \ Homeware \ Quantlib \ Quantlib-1.38 \ Quantlib-1.38 \ Build> Cmake .. < /p>
- Building for: Ninja
-- The CXX compiler identification is GNU 14.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/msys64/mingw64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) at CMakeLists.txt:164 (find_package):
Policy CMP0167 is not set: The FindBoost module is removed. Run "cmake
--help-policy CMP0167" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.

This warning is for project developers. Use -Wno-dev to suppress it.

-- Found Boost: C:/msys64/mingw64/lib/cmake/Boost-1.87.0/BoostConfig.cmake (found suitable version "1.87.0", minimum required is "1.58.0")
-- Configuring done (4.4s)
-- Generating done (2.0s)
-- Build files have been written to: C:/HOMEWARE/Quantlib/QuantLib-1.38/QuantLib-1.38/build

< /code>
Затем я запускаю:
cmake -build. < /p>
Это начинает строить все файлы и около 1156/1158. Я добираюсь до:
[1156/1158] Связывание CXX исполняемого теста-suite \ Quantlib-benchmark.exe < /p>
, где я вижу тонну ошибок связывания: < /p>
FAILED: test-suite/quantlib-benchmark.exe
C:\WINDOWS\system32\cmd.exe /C "cd . && C:\msys64\mingw64\bin\c++.exe -O3 -DNDEBUG @CMakeFiles\ql_benchmark.rsp -o test-suite\quantlib-benchmark.exe -Wl,--out-implib,test-suite\libquantlib-benchmark.dll.a -Wl,--major-image-version,0,--minor-image-version,0 && cd ."
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: test-suite/CMakeFiles/ql_test.dir/americanoption.cpp.obj:americanoption:(.text+0x14ed): undefined reference to `__imp__ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEyS4_'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: test-suite/CMakeFiles/ql_test.dir/americanoption.cpp.obj:americanoption:(.text+0x1543): undefined reference to `__imp__ZN5boost9unit_test12lazy_ostream4instE'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: test-suite/CMakeFiles/ql_test.dir/americanoption.cpp.obj:americanoption:(.text+0x1fbe): undefined reference to `__imp__ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEyNS1_10tool_levelENS1_10check_typeEyz'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: test-suite/CMakeFiles/ql_test.dir/americanoption.cpp.obj:americanoption:(.text+0x22ee): undefined reference to `__imp__ZN5boost9unit_test12lazy_ostream4instE'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: test-suite/CMakeFiles/ql_test.dir/americanoption.cpp.obj:americanoption:(.text+0x2349): undefined reference to `__imp__ZN5boost9unit_test15unit_test_log_tlsERKNS
< /code>
Я не знаю, что делаю не так, я подозреваю, что есть проблема с Boost. Любая помощь оценила

Подробнее здесь: https://stackoverflow.com/questions/796 ... and-vscode
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»