问题标签 [gprbuild]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gcc - 将 math.h 与 gprbuild 链接
我正在尝试构建一个调用 C 代码的 Ada 应用程序。C 代码使用sqrt
来自的函数math.h
。如果我删除对 的调用sqrt
,则编译和链接将完美运行。当我尝试sqrt
调用时,链接器告诉我undefined reference to sqrt
.
这是我的 gpr 文件:
我认为解决方案是for Default_Switches("C") use ("-lm");
,但它仍然不起作用。
cuda - 如何在 gprbuild 中使用 nvcc?
我在 Ada 中有一个代码,必须使用 CUDA 而不使用 Ada 绑定。所以我做了一个接口,允许Ada程序调用C代码。现在我想编译它。
如何告诉 gprbuild 不要使用 gcc.cu
通过 nvcc 编译文件?如果不可能,也许我必须使用 nvcc 生成对象,然后将它们与 ada 代码链接?你会怎么做?
编辑:使用 Simon Wright 提供的链接,我制作了这个 gpr 文件:
编译运行良好,但链接器返回此错误:
cuda_interface.adb:
内核.cuh
内核.cu
gcc - 使用 gprbuild 将目标文件链接到项目
我使用nvcc
以下 bash 脚本从我的项目中创建了一个目标文件:
在我obj
的文件夹中,我得到一个link.o
文件。我需要使用 gprbuild 将此文件链接到我的 Ada 项目。如果不使用 nvcc 的单独编译模式,我可以完美地编译出 Ada-Cuda 项目。但是现在,由于我需要单独的编译模式,我必须找到一种link.o
与项目的其余部分链接的方法。这是.gpr
文件:
这是我得到的错误
ada - gprbuild 项目文件中是否可以有文件通配符?
我有一个项目,我经常在某个目录中创建很多新的主入口点 *.adb 文件。有什么方法可以使用 gprbuild 设置我的项目,以便添加新的主程序不需要编辑 .gpr 项目文件?
目前,我有这个,每次添加新的时候都需要修改电源列表:
但我想做的只是说里面的每个 .adb 文件src/examples
都应该被视为一个主文件。
ada - 为什么 gprbuild 在 Linux 和 Windows 上构建库时表现不同?
我正在使用以下选项将动态 Ada 库从 Windows 移植到 CentOS 7:
在 Windows 上,gprbuild 首先编译 my_lib_interface,然后继续编译所有带有的单元。这意味着如果一个文件存在于 Source_Dirs 但未被任何人使用,它将被忽略。在 CentOS 上,gprbuild 编译每个文件,显然是按字母降序排列(?)并导致编译错误,因为有些文件不应该编译(这是一个大项目,我无法完全控制目录) .
为什么 gprbuild 的行为不同?有没有办法在不从项目中排除未使用的源文件的情况下获得 Windows 行为?
gprbuild - GPRBUILD 和多文件后缀(.cc、.cpp)
GNAT 项目文件 (.gpr) 允许为编译指定源代码的后缀。例如:
但是在某些情况下,例如 C++,当代码来自多个来源(通常是.cc
和.cpp
)时,您可能需要支持多个后缀。
知道怎么做吗?