Compilation 编译一个非C/C++;来自CLI的跨平台项目
假设我们有一个非C/C++语言的项目,由一堆源文件组成。我们如何使用Compilation 编译一个非C/C++;来自CLI的跨平台项目,compilation,makefile,cross-platform,project,Compilation,Makefile,Cross Platform,Project,假设我们有一个非C/C++语言的项目,由一堆源文件组成。我们如何使用make或类似的工具从命令行编译这组代码?它应该只编译项目目录中的每个源文件,并从中创建一个可执行文件。听起来不太难,但我似乎找不到一个简单的答案。你能更具体地说明你需要编译的语言和平台吗 不同语言/平台的编译过程不同。例如,您可能不想使用make来编译用Java编写的东西: (至少,与C++不同)make的模式规则功能相当强大。假设您要从c#源文件a.cs,b和c中构建程序a,b.cs和c.cs,则生成文件如下所示: all
make
或类似的工具从命令行编译这组代码?它应该只编译项目目录中的每个源文件,并从中创建一个可执行文件。听起来不太难,但我似乎找不到一个简单的答案。你能更具体地说明你需要编译的语言和平台吗
不同语言/平台的编译过程不同。例如,您可能不想使用make
来编译用Java编写的东西:
(至少,与C++不同)
make
的模式规则功能相当强大。假设您要从c#源文件a.cs
,b
和c
中构建程序a
,b.cs
和c.cs
,则生成文件如下所示:
all : a.exe b.exe c.exe
%.exe : %.cs
csc.exe /out:$@ $^
文件中的第一条规则告诉make
要做什么。它按惯例命名为all
。第二条规则是一个模板,它定义了如何通过调用下一行给出的编译器,使以.exe
结尾的文件名与以.cs
结尾的文件名相同。记得在最后一行前面放一个标签
$^
和$@
是自动变量,分别表示“目标名称”和“所有先决条件”。您尝试了什么?毕竟,这是一个简单的三行程序,如果你展示你的特定代码并准确地说出它的输出出了什么问题,我们会更好地理解你的问题。我目前正在编写C#,在谷歌上搜索“makefile template C#”之类的东西,但没有找到任何东西。你提到的三行是什么?这有点解释。有用的文章!因此,实际上构建程序本质上是特定于语言的。这意味着我应该仔细阅读为C#编写项目文件的内容。