windows編譯makefile
㈠ Windows系統下如何使用makefile
makefile在windows之外襪跡的系統中廣泛使用,大多頌好喚數程序員依賴於vs的IDE; 掌握使用makefile,對於自動化構建很有用 vs使用nmake.exe作為構建的工具,有別於linux的make nmake.exe在vs的安裝目錄下, vs2005的默認目錄是:C:\Program Files\Microsoft Visual Studio 8\VC\bin 或者 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin (通常兩個目錄下文件為同一個) vs2003的默認目錄是:C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin 或者 C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin 打開DOS窗口,輸入nmake,可能會出現如下錯誤提示: 這是因為在vs的安裝過程中,沒有注冊vs的環境變數,可以通過如下方法查看自己是否已經注冊好vs的環境變數: 在DOS窗口中輸入set path, 則會看到如下提示: 我這邊已經注冊好環境變數了,如果你沒有看到,可以將vs的bin目錄添加到系統環境目錄的path里 重新打開DOS窗口,輸入nmake,如果提示如下,則說明環境目錄注冊成功: 這時,可以開始我們的編譯了,打開DOS窗口,導航到源代碼目錄,執行nmake,注意nmake對應的編譯為makefile(無後綴名)如果你系統裡面有好幾個vs版本,建議不要將環境變數添加到path里,我的做法是這樣的: 1,在C:\下面新建目錄utils,並將該目錄添加到path的環境變數中 2, 將vs2005的bin目錄下的vcvars32.bat和vs2003的vcvars32.bat分別到野凱C:\Utils目錄下,重命名為vc8.bat和vc7.bat 3,執行nmake前先執行vc7.bat(使用vs2003編譯)或者vc8.bat(使用vS2005編譯)
㈡ makefile編寫完成後,就直接可以編譯程序了
makefile主要應用於類Unix系統下,當然Windows平台下的MinGW也包含了make腳本處理工具,所以現在可以說實現了多平台的應用。
makefile本質上就是一個文本文件,所以不需要使用任何專用的編輯工具。由於makefile的廣泛應用,不少文本編輯器工具內置了makefile的文法高亮顯示功能,Windows下的Notepad++就是其中的一例:將文件保存文makefile(沒有任何擴展名)後就可以了。
需要注意的是,雖然makefile文件本身並沒有任何要求,但請確保你的系統中一定要有make程序才能進行腳本作業。
㈢ Windows系統。一個C語言項目中有多個main函數,分別在三個.c文件中,怎麼添加Makefile文件讓它編譯
只能有一個主函數,把另外兩個主函數名字改了,放在主函數里調用
㈣ Windows系統下如何使用makefile
makefile在windows之外襪跡的系統中廣泛使用,大多頌好喚數程序員依賴於vs的IDE; 掌握使用makefile,對於自動化構建很有用
vs使用nmake.exe作為構建的工具,有別於linux的make
nmake.exe在vs的安裝目錄下,
vs2005的默認目錄是:C:\Program Files\Microsoft Visual Studio 8\VC\bin 或者 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin (通常兩個目錄下文件為同一個)
vs2003的默認目錄是:C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin 或者 C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin
打開DOS窗口,輸入nmake,可能會出現如下錯誤提示:
這是因為在vs的安裝過程中,沒有注冊vs的環境變數,可以通過如下方法查看自己是否已經注冊好vs的環境變數:
在DOS窗口中輸入set path, 則會看到如下提示:
我這邊已經注冊好環境變數了,如果你沒有看到,可以將vs的bin目錄添加到系統環境目錄的path里
重新打開DOS窗口,輸入nmake,如果提示如下,則說明環境目錄注冊成功:
這時,可以開始我們的編譯了,打開DOS窗口,導航到源代碼目錄,執行nmake,注意nmake對應的編譯為makefile(無後綴名)如果你系統裡面有好幾個vs版本,建議不要將環境變數添加到path里,我的做法是這樣的:
1,在C:\下面新建目錄utils,並將該目錄添加到path的環境變數中
2, 將vs2005的bin目錄下的vcvars32.bat和vs2003的vcvars32.bat分別到野凱C:\Utils目錄下,重命名為vc8.bat和vc7.bat
3,執行nmake前先執行vc7.bat(使用vs2003編譯)或者vc8.bat(使用vS2005編譯)
㈤ 請問在GNU C++的Windows版本編譯器中,make的默認的makefile放在哪裡
你用得是 DEV-CPP MINGW?
文件夾下有 makefile名字得文喊鎮件啊。。族旁。裡面寫鄭穗粗了
g++ test.cpp -o test這句話吧?
㈥ 求解讀windows C++ makefile
我比較懶就簡單說下
CC是cl(鏈接)程序的全路徑和flag(編譯選項)
LINK應該是要連接的運行庫的路徑
-DI386
-DWIN32
-DSWAP_BITFIELDS
-DDLLEXPORT="__declspec(dllexport)"
-D_WIN32_WINNT=0x0501
-DWINVER=0x0501
-DSESI_LITTLE_ENDIAN
]這些是目標機器類型,編碼並隱順序(BIG或者LITTLE ENDIAN),以及windows版本信息
HLIBINC = -LIBPATH:$(HFS)/dsolib
HLIBS = $(HFS)/custom/houdini/dsolib/*.a
SYSLIBINC = -LIBPATH:$(MSVCDir)/lib$(AMD64_SUFFIX)
-LIBPATH:$(MSVCDir)/PlatformSDK/lib$(AMD64_SUFFIX)
SYSLIBS =
INCINC = $(INCDIRS)
-I$(HFS)/toolkit/include
-I$(MSVCDir)/include
-I$(MSVCDir)/PlatformSDK/include
這部分主要是鏈接庫(.lib,.a等)及汪乎頭文件include(.h/.hpp)文件路徑
SHAREDFLAG = -DLL
OBJOUTPUT = -Fo
DSOOUTPUT = -out:
SAOUTPUT = -out:
OBJFLAGS = $(HDEFINES) $(INCINC) $(WFLAGS) $(OPTIMIZER)
DSOFLAGS = $(SYSLIBINC) $(LIBDIRS) $(LIBS) $(SYSLIBS) $(HLIBINC) $(HLIBS)
SAFLAGS = $(DSOFLAGS)
最後這部分是連接的選項及把絕陵廳所有路徑納入生成的obj文件的路徑命令中。
每個具體的含義懶得打了網上有呵呵。
㈦ 在windows平台如何用MinGW編譯工程工程中有Makefile.an和Makefile.in文件,要輸入什麼命令呢
在mingw下,安裝automake,Makefile.an和.in應該是automake要用到得,需要通過automake生成configure,具體再看automake相關部分
㈧ 如何在Windows下通過Cmake編譯和使用PCRE
CMake是一個比make更高級的編譯配置工具,它可以根據不同平台、不同的編譯器,生成相應的Makefile或者vcproj項目。
通過編寫CMakeLists.txt,可以控制生成的Makefile,從而控制編譯過程。CMake自動生成的Makefile不僅可以通過make命令構建項目生成目標文件,還支持安裝(make install)、測試安裝的程序是否能正確執行(make test,或者ctest)、生成當前平台的安裝包(make package)、生成源碼包(make package_source)、產生Dashboard顯示數據並上傳等高級功能,只要在CMakeLists.txt中簡單配置,就可以完成很多復雜的功能,包括寫測試用例。
如果有嵌套目錄,子目錄下可以有自己的CMakeLists.txt。
總之,CMake是一個非常強大的編譯自動配置工具,支持各種平台,KDE也是用它編譯的,感興趣的可以試用一下。
准備活動:
(1)安裝cmake。
下載地址:
根據自己的需要下載相應的包即可,Windows下可以下載zip壓縮的綠色版本,還可以下載源代碼。
Windows下CMake的使用
(2)運行cmake的方法。(GUI、命令行)
CMake使用步驟:
運行GUI的cmake界面:
cmake-2.8.1-win32-x86\bin\cmake-gui.exe
Windows下CMake的使用
執行Configure:
運行之後,生成了如下文件:
Windows下CMake的使用
生成Makefile:
執行Generate之後生成如下文件:
Windows下CMake的使用
運行make進行編譯:
Windows下CMake的使用
編譯完成後,在build目錄生成Tutorial.exe,運行Tutorial.exe 25就可以看到運行結果:
Windows下CMake的使用
運行make install安裝程序:
Windows下CMake的使用
運行make test進行測試:
Windows下CMake的使用
通過cmake tutorial學習CMake配置方法
可以在源代碼的Tests/Turorial目錄中找到這個手冊對應的代碼。
Windows下CMake的使用
1、Step1。
(如果不知道如何使用cmake,以及如何使用編譯產生的Turorial.exe,可先看下前面「CMake使用步驟」的說明,它以Step4為例詳細介紹了使用過程,Step1的配置可能不夠完全,比如無法運行make install,無法運行make test,但可以參考。)
簡單的程序編譯。
(1)運行GUI的cmake,指定要編譯的源代碼路徑和二進制文件路徑(會自動創建)。
Windows下CMake的使用
(2)點擊Configure,配置成功後,再點擊Generate。
配置需要選擇合適的編譯器,雖然我安裝了VC2008,但沒有配置成功;選擇Unix Makefiles,配置成功,它自動找到了DevC++下的gcc.exe等編譯器。
Windows下CMake的使用
(3)在build3目錄執行make,就能夠編譯生成Turorial.exe了。
D:\Projects\Lab\testngpp\cmake-2.8.1\Tests\Tutorial\Step1\build3>make
Linking CXX executable Tutorial.exe
[100%] Built target Tutorial
可以運行一下Turorial.exe:
D:\Projects\Lab\testngpp\cmake-2.8.1\Tests\Tutorial\Step1\build3>Tutorial.exe
Tutorial.exe Version 1.0
Usage: Tutorial.exe number
D:\Projects\Lab\testngpp\cmake-2.8.1\Tests\Tutorial\Step1\build3>Tutorial.exe 4
The square root of 4 is 2
2、Step2
把子目錄編譯為庫,並且鏈接到最終的可執行文件。
include_directories ("${PROJECT_SOURCE_DIR}/MathFunctions")
add_subdirectory (MathFunctions) # 使得子目錄MathFunctions也能被編譯
# add the executable
add_executable (Tutorial tutorial.cxx)
target_link_libraries (Tutorial MathFunctions)
產生makefile:
在GUI上點擊Configure,之後Generate還是灰色,再次點擊Configure,Generate就可以點擊了。
編譯:
㈨ windows 下makefile 文件怎麼創建,在什麼地方創建,是直接用txt編寫然後保存名為makefile嗎
機制不一樣,你要是想在win下用makefile,還得搭建一下編譯環境
㈩ windows怎麼安裝gnu c編譯器
Windows安裝GNU編譯器使用makefile
一、下載安裝MinGW
下載後,運行程序:mingw-get-inst-20120426.exe,選擇download latest repository catalogues. 選擇編譯器是勾選C Compiler 與C++ Compiler,點擊next進行下載及安裝。
二、設置環境變數
右擊計算機->屬性->高級系統設置->環境變數,在系統變數中找到PATH,將MinGW安裝目錄里的bin文件夾的地址添加到PATH裡面,(注意:PATH里兩個目錄之間以英文的;隔開)。打開MinGW的安裝目錄,打開bin文件夾,將mingw32-make.exe重命名為make.exe。
三、測試GCC編譯
創建一下test.c,用記事本打開該文件,將以下內容復制到文件中。
[cpp] view plain
#include<stdio.h>
#include<stdlib.h>
int main(void){
printf("Hello, world!\n");
system("pause");
return 0;
}
打開命令提示符,更改目錄到test.c的位置,鍵入
gcc -o test.exe test.c
可生成test.exe可執行文件。
四、測試makefile
新建文件夾,在文件夾內創建max_num.c、max.h、max.c、makefile四個文件。
max_num.c內容如下:
[cpp] view plain
#include <stdio.h>
#include <stdlib.h>
#include "max.h"
int main(void)
{
printf("The bigger one of 3 and 5 is %d\n", max(3, 5));
system("pause");
return 0;
}
max.h內容如下:
[cpp] view plain
int max(int a, int b);
max.c內容如下:
[cpp] view plain
#include "max.h"
int max(int a, int b)
{
return a > b ? a : b;
}
makefile內容如下:
[html] view plain
max_num.exe: max_num.o max.o
gcc -o max_num.exe max_num.o max.o
max_num.o: max_num.c max.h
gcc -c max_num.c
max.o: max.c max.h
gcc -c max.c
注意所有含有gcc的行前面是一個製表符,而非若干空格。否則可能會保存,無法編譯。
打開命令提示符,更改目錄到新建的文件夾,鍵入make,可生成指定的應運程序。
測試完成。