CMake共享库中的Latomic错误

时间:2018-08-21 15:27:47

标签: dll cmake

我开始使用CMake。要学习它,我尝试使用CMake,C ++ Builder和Ninja构建一个最小的Dll示例。 我从以下示例代码中获取了代码:

http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Using_CMake_with_C%2B%2B_Builder

但是我得到了错误:

Unresolved external symbol __Atomic_fetch_add_4 referenced from    
SharedLibrary.cpp.obj
Unresolved external symbol __Atomic_fetch_sub_4 referenced from     
SharedLibrary.cpp.obj

在另一个线程(Fedora 22 - compile - __atomic_is_lock_free) 我读到我必须使用以下命令将latomic添加到链接器:     设置(CMAKE_CXX_LINK_FLAGS“ $ {CMAKE_CXX_LINK_FLAGS} -latomic”)。所以我的代码然后我的代码看起来像:

project(SharedLibrary)

set(SharedLibrary_headers SharedLibrary.h)
set(SharedLibrary_sources SharedLibrary.cpp)

add_library(SharedLibrary SHARED SharedLibrary.h SharedLibrary.cpp)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -latomic")

install(TARGETS     SharedLibrary 
                    RUNTIME DESTINATION bin
                    LIBRARY DESTINATION lib
                    ARCHIVE DESTINATION lib/static
)

但是我仍然遇到相同的错误。我不知道该怎么办。有人可以帮我吗?

0 个答案:

没有答案