我开始使用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
)
但是我仍然遇到相同的错误。我不知道该怎么办。有人可以帮我吗?