错误“没有规则实现目标……”
Error “No rule to make target …”
我正在尝试运行travis测试,但是我会收到以下错误。
我检查了文件和目录,所有文件都存在。
我认为我在cmake文件中的错误,但找不到。也许有人可以帮助我?
使[1]:***没有规则来制作目标CMakeFiles/test.dir/all', needed by
CMAKEFILES/示例.dir/all'。停止。
cmake_minimum_required(VERSION 2.8.7)
project(test)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
option(BUILD_SHARED_LIBS "Build shared instead of static library" OFF)
option(BUILD_TESTS "Build tests for webdavclient" ON)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/tests/ /sources)
add_library(test STATIC ${CMAKE_CURRENT_SOURCE_DIR}/sources/client.cpp tests/main.cpp)
find_package(OpenSSL REQUIRED)
find_package(Boost REQUIRED)
find_package(CURL REQUIRED)
include_directories(${CURL_INCLUDE_DIR})
if(Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(test ${Boost_LIBRARIES})
endif()
if(UNIX)
set(DEPENDS_LIBRARIES ${OPENSSL_LIBRARIES} ${CURL_LIBRARY} ${Boost_LIBRARIES})
elseif(MSVC)
set(DEPENDS_LIBRARIES ${OPENSSL_LIBRARIES} ${CURL_LIBRARY} ${Boost_LIBRARIES} ws2_32)
endif()
add_executable(Examples ${CMAKE_CURRENT_SOURCE_DIR}/examples/main.cpp)
target_link_libraries(Examples ${PROJECT_NAME} ${DEPENDS_LIBRARIES})
if(BUILD_TESTS)
enable_testing()
file(GLOB ${PROJECT_NAME}_TEST_SOURCES tests/*.cpp)
add_executable(init ${${PROJECT_NAME}_TEST_SOURCES})
target_link_libraries(init ${PROJECT_NAME} ${DEPENDS_LIBRARIES})
add_test(NAME init COMMAND init "-s" "-r" "compact" "--use-colour" "yes")
endif()
命令 enable_testing()
除其他事项外,还创建了目标 test
。但是您已经拥有相同名称的库目标。这使CMAKE混淆。为了避免这种情况,重命名库目标。
另外,不建议具有与项目相同的目标名称。因此,重命名项目。
相关文章:
- 如果没有malloc,链表实现将失败
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- 如何在c++中实现处理器调度模拟器
- 如何在c++中使用引用实现类似python的行为
- 实现无开销push_back的最佳方法是什么
- 使用简单类型列表实现的指数编译时间.为什么
- C++A*算法并不总是在路径中具有目标节点
- 如何在BST的这个简单递归实现中消除警告
- 实现一个在集合上迭代的模板函数
- 我应该实现右值推送功能吗?我应该使用std::move吗
- 基于树莓pi的tensorflow lite量化ssd目标检测
- 制作:没有实现目标的规则 - 找不到源文件
- 错误“没有规则实现目标……”
- 我有一个构造函数,但我需要将输出返回到 main.cpp.我无法使用获取字符串功能!!任何想法如何实现这一目标?
- 我如何在makefile中实现目标,在makefile中调用另一个目标
- 编译Cyanoboot:没有规则来实现目标
- Microsoft Visual Studio 2010 没有将构建工具放在 PATH 中以实现干净的目标?
- 目标C++OpenGL实现
- 目标C错误:C风格的方法内部类实现
- 目标 C - 使用局部变量声明的dispatch_apply无法在方法实现中编译C++