实际上,我需要在Windows / Linux平台下为不同的语言构建二进制文件--Java,Pascal(Delphi / FPC),C ++,C#等。
如何做到这一点?我现在正在使用CMake for C项目:
cmake --build .
与CMakeLists.txt
提供。
答案 0 :(得分:3)
每个*make
系统对Java项目都没有用,因为make
基本上假设“一个文件输入,一个文件输出”(例如.c
到.o
)或“N个文件输入,一个文件输出”(例如*.o
到.a
,.dll
,.exe
之一。利用这些“原语”,可以执行构建。
但Java编译器本质上需要“完整的sourcetree in,comlete class-tree out”。
这两个范式不匹配,并且尝试做的事情迟早会引入比其价值更少的讨厌问题。去过也做过。
您可以做的最好的事情是从顶级Makefile中调用Ant或Maven(或其他)。
修改:不要忘记另外两件事:
使用make
编译Java内容是一种黑暗,神秘的艺术。您将找不到许多了解Java和make以及谁可以解决该组合问题的人。 Ant / Maven和Java是标准组合。找到帮助或建议使用该组合是没有问题的。
Java中的许多框架都需要特殊的编译步骤。几乎在所有情况下都有可用的Ant和Maven插件。使用make你将不得不每次重新发明轮子。
答案 1 :(得分:1)
Free Pascal提供自己的构建系统。参见例如
http://www.stack.nl/~marcov/buildfaq.pdf
默认的makefile(基于主要生成的gmake makefile)已经具有交叉功能。
我不认识任何使用cmake和Free Pascal的人,而且我已经在他们的maillist上工作了十多年。