我正在编写一个应用程序来测试pbs_connect()是否正常工作。这是我的代码:
#include <stdio.h>
#include "/usr/include/torque/pbs_ifl.h"
#include "/usr/include/torque/pbs_error.h"
#include <pbs_config.h>
#include "libpbs.h"
int main() {
printf("Hello world\n");
int server = pbs_connect("inferno.local");
//batch_status * stat1 = pbs_statserver(server, NULL, NULL);
pbs_errno = 0;
batch_status * stat1 = PBSD_status(server, 21, (char *)"", NULL, NULL);
printf("fd: %d\n", server);
//printf("text: %s\n", stat1->text);
//printf("name: %s\n", stat1->name);
printf("name: %d\n", pbs_errno);
return 0;
}
//compiled using - //g++ -o test test.c -L/usr/lib64 -ltorque
我得到:
# g++ -o test test.c -L/usr/lib64 -ltorque
test.c:7:24: error: pbs_config.h: No such file or directory
test.c:8:20: error: libpbs.h: No such file or directory
test.c: In function 'int main()':
test.c:19: warning: deprecated conversion from string constant to 'char*'
test.c:24: error: 'PBSD_status' was not declared in this scope
包含PBSD_status的源文件可以在这里找到:
https://github.com/adaptivecomputing/torque/blob/4.2.7/src/lib/Libifl/PBSD_status.c
我需要在我的g++命令中包含一些东西才能使其正常工作吗?我已经在/ usr / lib64 /中 checkin ,并且没有libpbs.h或pbs_config.h。如果不在那里,他们会在哪里?
最佳答案
至于标题,您会遇到已安装和未安装的标题之间的差异。本质上,软件项目不会在该项目内安装每个 header ,而只会安装与API相关的 header 。其他两个不在API中,因此未安装。您需要参考他们的路径。
只要在库中包含PBSD_status(),就可以编辑Libpbs的Makefile以包括PBSD_status()的源文件,然后进行重建,或者可以链接到libifl库,该库位于src / lib / Libifl中。项目的基本目录。
关于c++ - libtorque-我如何包括PBSD_status函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31525847/