Compiling a dll with g++
Compiling a dll with g++
我一直在尝试用g++在windows上编译这个项目:https://github.com/newhouseb/openvr-c
我的命令行:g++ -c -std=gnu++0x -DBUILDING_OPENVR_C openvr_c.cpp openvr_c.h
g++ -shared -o openvr_c.dll openvr_c.o -std=gnu++0x -Wl,--out-implib,openvr_api.dll -L. -lopenvr_api
当我运行第二行我得到这些错误:
openvr_c.o: openvr_c.cpp:(美元。text _ZN2vr14COpenVRContext10CheckClearEv [__ZN2vr14COpenVRContext10CheckClearEv] + 0 x12):对
_imp__VR_GetInitToken' openvr_c.o:openvr_c.cpp:(.text$_ZN2vr14COpenVRContext10CheckClearEv[__ZN2vr14COpenVRContext10CheckClearEv]+0x33): undefined reference to
的未定义引用openvr_c.o: openvr_c.cpp:(美元。text _ZN2vr14COpenVRContext8VRSystemEv [__ZN2vr14COpenVRContext8VRSystemEv] + 0 x2b):对_imp__VR_GetGenericInterface' openvr_c.o:openvr_c.cpp:(.text$_ZN2vr14COpenVRContext11VRChaperoneEv[__ZN2vr14COpenVRContext11VRChaperoneEv]+0x2c): undefined reference to
_imp__VR_GetGenericInterface的未定义引用openvr_c.o: openvr_c.cpp:(美元。text _ZN2vr14COpenVRContext16VRChaperoneSetupEv [__ZN2vr14COpenVRContext16VRChaperoneSetupEv] + 0 x2c):对_imp__VR_GetGenericInterface' openvr_c.o:openvr_c.cpp:(.text$_ZN2vr14COpenVRContext12VRCompositorEv[__ZN2vr14COpenVRContext12VRCompositorEv]+0x2c): undefined reference to
_imp__VR_GetGenericInterface的未定义引用openvr_c.o: openvr_c.cpp:(美元。text _ZN2vr14COpenVRContext9VROverlayEv [__ZN2vr14COpenVRContext9VROverlayEv] + 0 x2c):对_imp__VR_GetGenericInterface' openvr_c.o:openvr_c.cpp:(.text$_ZN2vr14COpenVRContext14VRRenderModelsEv[__ZN2vr14COpenVRContext14VRRenderModelsEv]+0x2c): more undefined references to
_imp__VR_GetGenericInterface的未定义引用如下openvr_c.o: openvr_c.cpp:(美元。text _ZN2vr7VR_InitEPNS_12EVRInitErrorENS_18EVRApplicationTypeE [__ZN2vr7VR_InitEPNS_12EVRInitErrorENS_18EVRApplicationTypeE] + 0 x23):_imp__VR_InitInternal' openvr_c.o:openvr_c.cpp:(.text$_ZN2vr7VR_InitEPNS_12EVRInitErrorENS_18EVRApplicationTypeE[__ZN2vr7VR_InitEPNS_12EVRInitErrorENS_18EVRApplicationTypeE]+0x4c): undefined reference to
_imp__vr_isinterfaceversionvalid的未定义引用openvr_c.o: openvr_c.cpp:(美元。text _ZN2vr7VR_InitEPNS_12EVRInitErrorENS_18EVRApplicationTypeE [__ZN2vr7VR_InitEPNS_12EVRInitErrorENS_18EVRApplicationTypeE] + 0 x61):_imp__VR_ShutdownInternal' openvr_c.o:openvr_c.cpp:(.text$_ZN2vr11VR_ShutdownEv[__ZN2vr11VR_ShutdownEv]+0x7): undefined reference to
_imp__vr_shutdowninternal ' collect2.exe:错误:ld返回1退出状态
我不明白这些错误是什么,
谁能开导我一下?
这看起来像来自您的链接器的许多错误。确保正确地链接到依赖项。
什么是未定义的引用/未解析的外部符号错误,我如何修复它?
- Problems with std::cin.fail()
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 这对"With a stackless coroutine, only the top-level routine may be suspended."意味着什么
- Boost.TEST with CLion: "Test framework quit unexpectedly"
- 避免碎片化的ClientHellos with OpenSSL (DTLS)
- Issues with Win32 ReadProcessMemory API
- Qt with WinAPI MouseProc
- [[maybe_unused]] with structured_binding?
- Issue with WriteProcessMemory
- OpenCV RTP-Stream with FFMPEG
- "Unable to start debugging. No process is associated with this object." - 在Visual Studio Code中使用GDB
- std::adjacent_difference with std::chrono time_point
- DLL Made with CMake 使程序崩溃
- QtCreator with C 库中的链接器问题
- SHBrowseForFolder with BIF_BROWSEFORCOMPUTER and SHGetPathFr
- specialized std::default_delete with QQmlComponent
- VS2019 - Sudo Remote Debugging on Linux with Cmake project
- Inference pytorch C++ with alexnet and cv::imread image
- Pybind11: init<> with lambda
- Incomings Call with Android Sip stack in Embarcadero C++ bui