gpt4 book ai didi

c++ - '_Unwind_Resume'的多个定义

转载 作者:行者123 更新时间:2023-11-30 04:46:08 42 4
gpt4 key购买 nike

我一直在尝试使用静态链接的libstdc ++和libgcc编译共享库和可执行文件,但是出现上述链接器错误。我见过有人建议使用--allow-multiple-definition,但是我想知道解决此问题的正确方法。我正在使用MinGW-w64 8.1.0

我曾尝试使用hacky --allow-multiple-definition链接器标记,但是我想摆脱这一点并获得适当的解决方案。

库的CMakeLists.txt

add_library(
engine
SHARED
${vixen_HEADERS}
${vixen_SOURCES}
)

set_target_properties(
engine PROPERTIES
PREFIX ""
OUTPUT_NAME "VixenEngine"
)

find_package(PNG REQUIRED)
find_package(GLFW REQUIRED)
find_package(Vulkan REQUIRED)

target_include_directories(
engine PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include
${Vulkan_INCLUDE_DIR}
${GLFW_INCLUDE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/contrib/glm/
${PNG_INCLUDE_DIR}
)
target_link_libraries(
engine
Vulkan::Vulkan
${GLFW_LIBRARIES}
PNG::PNG
-static-libstdc++
-static-libgcc
)


CMakeLists.txt用于可执行文件

add_executable(test main.cpp properties.rc)
target_include_directories(test PUBLIC ${CMAKE_SOURCE_DIR}/engine/include/)
target_link_libraries(test engine -static-libstdc++ -static-libgcc)

最佳答案

这是我修复它的方法,将其添加到您的编译器标志中;
-fno-exceptions
您可以使用CMake中的target_compile_options进行此操作。

关于c++ - '_Unwind_Resume'的多个定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56954053/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com