你有没有 ./configure 很多源码要 autoconf步骤才能执行make,看样子,buildconf/install.ini很有可能是configure生成的。
make执行Makefile文件,Makefile和Visual Studio sln文件 都是规则文件,告诉编译器如何生成可执行文件,有哪些依赖 有哪些步骤。
比如以下的Makefile:
DES Makefile
CC=clang
CXX=clang++
CFLAGS=-Wall
CXXFLAGS= -std=c++11
LDFLAGS=-lm
all:des.cpp Inmessionante.o
$(CXX) $(CXXFLAGS) des.cpp Inmessionante.o -o des -lstdc++
Inmessionante.cpp:
$(CXX) $(CXXFLAGS) -c Inmessionante.cpp
clean:
-rm -rf *.o des
首先make会执行第一个标签(或目标),也就是all.检查依赖,推导,比如Inmessionante.o并不存在,就检查有没有Inmessionante.o的生成步骤。有就执行这个步骤。否则就会失败。
在Windows下也有make,比如Mingw移植过去的,还有Cygwin的make,语法和linux下面的一致,换行符不一样。还有VisualStudio自带的nmake,nmake语法有少许差异。
make执行的主要是编译源文件,而make install 正是执行install标签(或目标),如果没有标签(或目标)的话,是不能安装的。
install:
todo install.
Linux下主要是将二进制复制到 prefix/bin,已经 头文件到 prefix/include等等。
你的Makefile中,自己写好了 install标签(或目标)是可以使用make install,也可以打包make package.
就跨平台而言,可以学习CMAKE,cmake的打包要好的多。
在Windows下编码,如果有IDE,还是IDE简便些。sln文件IDE支持也更好。