有人可以幫我寫我的第一個makefile嗎?我有helloworld.cpp
代碼/path/to/main/code/helloworld.cpp
。 然後我剛剛包含一個.h文件#include "SFML/network.hpp"
。爲C++程序編寫makefile
現在SFML庫保存在/path/to/SFML/Library
這將是巨大的,如果有人能夠幫助這個我起步。與此同時,我試圖通過文學閱讀,但它非常壓倒。
有人可以幫我寫我的第一個makefile嗎?我有helloworld.cpp
代碼/path/to/main/code/helloworld.cpp
。 然後我剛剛包含一個.h文件#include "SFML/network.hpp"
。爲C++程序編寫makefile
現在SFML庫保存在/path/to/SFML/Library
這將是巨大的,如果有人能夠幫助這個我起步。與此同時,我試圖通過文學閱讀,但它非常壓倒。
儘管您可能需要學習傳統的GNU Makefile語法才能與其他項目一起工作,但我建議將CMake用於您自己的項目,因爲它更簡單,更直觀。
爲你的例子會去在一個文件中CMake的文件在你的項目的根目錄下名爲CMakeLists.txt
(同在此情況下,源),並期待這樣的:
project(HelloWorld) # Name your project.
add_executable(helloworld helloworld.cpp) # Specify an executable to build.
link_directories(/path/to/SFML) # Tell it where your libraries are.
target_link_libraries(helloworld Library) # Tell it which library to link.
如果你想成爲能夠從包含(#include)頭SFML不包括目錄名每一次,那麼你也可以這樣寫:
include_directories(SFML) # Tell it where your headers are.
上寫CMake的文件並運行CMake的其他文檔可從website。
最後,CMake的往往給人以嘈雜,但無害的消息,要求你把這樣一行在你的CMakeLists.txt文件的頂部:
cmake_minimum_required(VERSION 2.8) # Quell warnings.
乾杯。
感謝您的回覆。在SFML ..有像src,build和我需要的文件實際上在/ path/to/SFML/include/SFML/network.hpp ?? 我會在哪裏指定這個?THanks – Fraz
然後寫'include_directories(/ path/to/SFML/include/SFML)'。 –
它可能很簡單,但只是想推薦genmake.pl,我用這對我的學校項目有很大的影響。它使用起來非常簡單,它會爲您生成一個框架Makefile,並且需要填寫路徑SFML
。
如果您使用ACE(自適應通信環境),它帶有名爲MPC一個非常強大的makefile文件創建工具(Makefile Project Creator)
要編譯一個簡單的程序,並自動生成GNU的makefile,一個最小的例子可能是:
project(*my_project) : baseWorkspace {
exename = my_project
exeout = ./
Source_Files {
main.cpp
}
}
我發現,使用這個工具的優點在於它能夠繼承「基地」工作空間,就像多態性C++。在「基礎」中定義的庫在當前項目中使用,允許程序員利用各種構建塊快速輕鬆地操作和創建項目。
我確信只有ACE的MPC部分可以通過RPM下載和使用,我會搜索並查看是否可以爲您找到合適的示例。
@JonathanLeffler:我很抱歉這個錯字:(它的cpp。謝謝 – Fraz