CMake 在更改源文件时不会重新编译源文件?
CMake doesn't recompile source file when it's changed?
我正在使用 cmake 来构建我的库,当我更改LIB_SRCS其中一个文件并在命令行中键入 make 时,它不会重新编译该文件!
set (LIB_SRCS
${PROJECT_SOURCE_DIR}/src/A.cpp
${PROJECT_SOURCE_DIR}/src/B.cpp
${PROJECT_SOURCE_DIR}/src/C.cpp
)
add_library (mylib SHARED ${LIB_SRCS})
add_dependencies(mylib ${LIB_SRCS})
您应该检查的第一件事是 .o 和 .so 的修改时间与 .cpp当 .cpp 的 mtime 大于 .o 时,它应该重建。即使没有通过"触摸"文件进行修改,您也可以对其进行测试.cpp。
在某些奇怪的情况下,由于多种原因,时间可能会不匹配,然后它将无法正常工作。可能的原因可能是例如一些玩系统时间的恶魔,或使用网络文件系统等。
然而,在现实生活中,通常不是犯错,而是开发人员的错误:-(
相关文章:
- 生成一个生成文件,该生成文件使用Automake在一个步骤中编译和链接所有源文件
- make 命令如何避免重新编译未更改的源文件?
- 使用 MINGW gcc 编译时,不会为 std::string 调用重载的新运算符
- UE4 - Visual Studio在我从编辑器添加新的c ++文件后无法打开任何源文件 - UBT_COMPILED
- 在 Visual Studio 中的 1 个项目中编译单个 C++ 源文件
- 重建 exe 时如何自动链接新的静态库而不更改源文件?
- 如何在Visual Studio 2019中有条件地编译c++源文件
- 如何编译:Mac上的Synergy(2017年的新工具链)
- 如何编译和运行一个新的 C++ Actor 框架项目?
- 从源文件编译 QOpenGLshader 时出错
- C++ SD 总线源文件编译问题
- C++编译新的警告过滤器
- 每次都构建(make)lib,只有在lib较新时才重新编译项目
- C :使用标题和源文件,源文件不编译
- 如何创建指向派生类的新指针,该派生类在C++编译时未知
- 源文件未使用最新版本的Dev C 和OpenCV 3.x版本编译
- 如何在不退出和失去断点的情况下重新加载重新编译的二进制文件
- 开发DEV C 源文件未编译
- RCpp:如何在不重新启动R的情况下重新加载重新编译的C++代码
- 使用对象文件和源文件进行编译的区别