我正在尝试创建一个ada库,并尝试了一些不同的东西.我尝试使用makefile编译项目并尝试从所有.o文件创建一个库这似乎不能按预期工作.然后我问adacore支持,他们指出了我在ada和c项目中使用.gpr文件的方向,以及应该创建库的ada.gpr中的文件.这几乎可以工作,但当它试图编译ada我得到未定义的引用.
我试过的:命令行:
ar rc libmy_lib.a *.o
Run Code Online (Sandbox Code Playgroud)
当我尝试阅读lib中的内容时
ld libmy_lib.a
Run Code Online (Sandbox Code Playgroud)
我得到这个错误ld:警告:找不到条目符号_start; 没有设置起始地址
项目文件:我的ada项目文件prj.gpr
project Prj is
for Source_Dirs use ("source1/", "source2", ....);
for Object_Dir use ".";
for Languages use ("Ada");
for Library_Name use "test";
for Library_Dir use "lib";
for Library_Interface use (
--All my ada packages
);
package Naming is
for Spec_Suffix ("ada") use ".1.ada";
for Body_Suffix ("ada") use ".2.ada";
for Separate_Suffix use ".2.ada";
for Dot_Replacement use ".";
end Naming;
package Compiler is
for Default_Switches ("ada") use ("-v", "-g", "-gnato", "-gnatwa", …
Run Code Online (Sandbox Code Playgroud)