我在使用visual studio时遇到了麻烦,我不知道还应该尝试什么。
我在共享库(dll / windows)中捆绑了一些c ++函数,并尝试在Visual Studio中包含该库。
问题是visual studio总是会输出以下错误:
错误LNK2019未解析的外部符号“”__ declspec(dllimport)void __cdecl CppFunc(void)“(__ imp_?CppFunc @@ YAXXZ)”in function“main”
因为我认为这是我的错,所以我尝试了以下示例: Building a Dynamic-Link Library using C++ MinGW
如果我使用控制台编译该示例,一切正常。另一方面,当我尝试在visual studio中编译时,我收到与我的库相同的错误。
这就是我试图让它发挥作用的地方:
使用cmake和以下CMakeLists.txt-File生成visual studio项目
cmake_minimum_required (VERSION 3.1)
project (Tutorial)
include_directories(include)
add_library(lib SHARED IMPORTED)
set_property(TARGET lib PROPERTY IMPORTED_LOCATION ${PROJECT_SOURCE_DIR}/lib/my_dll.dll)
set_property(TARGET lib PROPERTY IMPORTED_IMPLIB ${PROJECT_SOURCE_DIR}/lib/libmy_dll.lib)
file(GLOB srcfiles
"src/*.cpp"
)
add_executable(Tutorial ${srcfiles})
target_link_libraries(Tutorial lib)
要生成.dll和.lib文件,我使用以下命令:
g++ -c -DBUILD_MY_DLL my_dll.cpp
g++ -shared -o my_dll.dll my_dll.o -Wl,--subsystem,windows,--out-implib,libmy_dll.lib
如果有人可以帮助我,我会非常高兴。
提前致谢。