gpt4 book ai didi

gcc - cmake & gcc 每次都会编译每个文件

转载 作者:行者123 更新时间:2023-12-01 23:08:06 25 4
gpt4 key购买 nike

我是一名学习 C++ 的开发人员,最初使用 XCode 在 Mac 平台上编写游戏,但现在通过利用 CMake 转向跨平台。到目前为止,我可以在我的 ickle Linux 上网本上编译它,并且我正在这台机器上构建一个开发环境,以便进行移动编码。但是我发现每当我进行更改时 gcc 都会重新编译每个文件。显然我需要对 CMakeLists.txt 进行一些额外的配置。我目前的情况非常简单。就像这样;

cmake_minimum_required (VERSION 2.8)
set (source
Creature.cpp
DisplayManager.cpp
Engine.cpp
EngineState.cpp
Entity.cpp
GameWorld.cpp
GfxSFML.cpp
Item.cpp
Map.cpp
Position.cpp
Projectile.cpp
ScreenTile.cpp
SquadAI.cpp
Terrain.cpp
UIButton.cpp
UICharPanel.cpp
UIView.cpp
Utility.cpp
Weapon.cpp
fov.cpp
main.cpp
)

find_package (OpenAL)
find_package (OpenGL)
find_package (SFML)

set(CMAKE_CXX_FLAGS "-g -Wall -pg")
add_executable (tractionedge ${source})
target_link_libraries(tractionedge ${SFML_LIBRARY} ${OPENGL_LIBRARY} ${OPENAL_LIBRARY})

到目前为止,我一直专注于 C++ 作为一种语言,而不是坚持使用 XCode 来构建系统。我对 Autotools(make?)和 Gcc 的了解非常有限。如何让 gcc 只重新编译更改后的源代码?

最佳答案

您每次都重新运行cmake吗?如果您只修改一个源文件,您应该能够简单地重新运行 make,并且它应该在链接之前仅重建一个目标文件。如果重新运行 cmake,它可能会将所有源文件标记为脏并重建所有内容。

仅当您更改正在使用的源文件的实际列表或其他类似的重大更改时,才重新运行 cmake

关于gcc - cmake & gcc 每次都会编译每个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2085273/

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