Используйте стороннюю библиотеку в C ++ Windows MSVC - PullRequest
0 голосов
/ 02 мая 2020

Я вроде новичка ie в C ++. Я борюсь с использованием сторонней библиотеки. Извините, если это звучит очевидно для многих. Однако, если кто-то может помочь, это было бы неплохо.

Большое спасибо

Я пытаюсь скомпилировать и использовать стороннюю библиотеку под названием XXXX. Поэтому я следовал инструкции по компиляции XXXX. Он прекрасно скомпилирован с использованием Visual Studio 2019 16.5.

Файл библиотеки находится в:

  • D: \ Workspace \ XXXX \ build \ src \ C ++ \ Debug \ XXXXd.lib
  • D: \ Workspace \ XXXX \ build \ src \ C ++ \ Debug \ XXXX.lib (я скопировал файл dedbug без суффикса "d" ...)
  • D: \ Workspace \ XXXX \ build \ src \ C ++ \ Release \ XXXX.lib

Я получаю следующую ошибку:

NMAKE : fatal error U1073: don't know how to make 'XXXX.lib'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\bin\HostX86\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\bin\HostX86\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\bin\HostX86\x64\nmake.exe"' : return code '0x2'
Stop.

Использование этого файла cmake

cmake_minimum_required(VERSION 3.10)
project(Ahahah)

set(CMAKE_CXX_STANDARD 17)
add_compile_definitions(HAVE_STD_UNIQUE_PTR=1)
add_compile_definitions(_HAS_AUTO_PTR_ETC=1)


INCLUDE_DIRECTORIES(D:/Workspace/XXXX/include)
link_directories(D:/Workspace/XXXX/build/src/C++/Debug)
add_library(XXXX STATIC D:/Workspace/XXXX/build/src/C++/Debug)
set_target_properties(XXXX PROPERTIES LINKER_LANGUAGE CXX)

add_executable(Ahahah
        Ahahah/src/Common/CommandLineConsole/Command.cpp
        Ahahah/src/Common/CommandLineConsole/Command.h)
target_link_libraries(Ahahah PUBLIC XXXX)

Если я закомментирую add_library и set_target_properties, с этим cmake:

cmake_minimum_required(VERSION 3.10)
project(Ahahah)

set(CMAKE_CXX_STANDARD 17)
add_compile_definitions(HAVE_STD_UNIQUE_PTR=1)
add_compile_definitions(_HAS_AUTO_PTR_ETC=1)


INCLUDE_DIRECTORIES(D:/Workspace/XXXX/include)
link_directories(D:/Workspace/XXXX/build/src/C++/Debug)


add_executable(Ahahah
        Ahahah/src/Common/CommandLineConsole/Command.cpp
        Ahahah/src/Common/CommandLineConsole/Command.h)
target_link_libraries(Ahahah PUBLIC XXXX)

я получаю эту ошибку

lgo2.exe : fatal error LNK1120: 23 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files\JetBrains\CLion 2019.3.5\bin\cmake\win\bin\cmake.exe"' : return code '0xffffffff'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\bin\HostX86\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\bin\HostX86\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\bin\HostX86\x64\nmake.exe"' : return code '0x2'
Stop.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...