DRMAA をテストするために小さな c ファイルを作成しましたが、使用した DRMAA 関数が定義されていないと表示され続けます。C コードに drmaa.h ファイルを含めました。-idrmaa を使用すると、次のエラーが発生します。
[mkatouzi@argo-1 ~]$ cc -o drmtest -I$SGE_ROOT/include/ -ldrmaa -ldl drmtest.c
/usr/bin/ld: cannot find -ldrmaa
DRMAA ヘッダー ファイルは次のパスにあります: $SGE_ROOT/include/
-ldrmaa なしでファイルをコンパイルすると、次のエラーが発生します。
[mkatouzi@argo-1 ~]$ cc -o drmtest -I$SGE_ROOT/include/ drmtest.c
/tmp/cclsPr9O.o: In function `main':
drmtest.c:(.text+0x3c): undefined reference to `drmaa_init'
drmtest.c:(.text+0x83): undefined reference to `drmaa_exit'
collect2: ld returned 1 exit status
私は学校の UNIX システムを使用していますが、非常に慣れていません。誰でもこれで私を助けることができますか?
これは私の drmtest.c ファイルです:
#include <stdio.h>
#include "drmaa.h"
int main (int argc, char **argv) {
char error[DRMAA_ERROR_STRING_BUFFER];
int errnum = 0;
errnum = drmaa_init (argv[0], error, DRMAA_ERROR_STRING_BUFFER);
if (errnum != DRMAA_ERRNO_SUCCESS) {
fprintf (stderr, "Couldn't init DRMAA library: %s\n", error);
return 1; }
/* Do Stuff */
errnum = drmaa_exit (error, DRMAA_ERROR_STRING_BUFFER);
if (errnum != DRMAA_ERRNO_SUCCESS) {
fprintf (stderr, "Couldn't exit DRMAA library: %s\n", error);
return 1; }
return 0;
}