相关疑难解决方法(0)

未定义的引用'shm_open',已在此处添加-lrt标志

我只是系统崩溃并重新安装Ubuntu 11.10,我的代码产生了这个奇怪的错误.

我写了一个简单的代码示例来测试问题所在:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <sys/stat.h>

int main (void) {

    int i;

    i = shm_open ("/tmp/shared", O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);   printf ("shm_open rc = %d\n", i);

    shm_unlink ("/tmp/shared");

    return (0);
}
Run Code Online (Sandbox Code Playgroud)

并且编译命令是

gcc -lrt test.c -o test

错误是:

/tmp/ccxVIUiP.o: In function `main':
test.c:(.text+0x21): undefined reference to `shm_open'
test.c:(.text+0x46): undefined reference to `shm_unlink'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

我已经添加了-lrt lib,为什么它仍然没有编译?

c linux

34
推荐指数
2
解决办法
6万
查看次数

未定义的对"JNI_CreateJavaVM"窗口的引用

我正在尝试熟悉JNI API,但无法获得要编译的示例c ++程序.我得到了相同的样本来编译并在linux中运行(在下面的链接中发布问题后)但是无法在windows中编译它; 我正在使用mingw g ++.我已经将所有包含路径更改为Windows路径,并且jni.h位于编译时,而不是jvm.dll.

未定义引用`JNI_CreateJavaVM'linux

这是我尝试用来编译的命令:

g++ -g -I"C:\Program Files (x86)\Java\jdk1.7.0_21\include" -I"C:\Program Files (x86)\Java\jdk1.7.0_21\include\win32" -L"C:\Program Files (x86)\Java\jdk1.7.0_21\jre\bin\server" callJava.cpp -ljvm
Run Code Online (Sandbox Code Playgroud)

和...

**same as above with the additional** : -L"C:\Program Files (x86)\Java\jdk1.7.0_21\lib"
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

undefined reference to `_imp__JNI_CreateJavaVM@12'
Run Code Online (Sandbox Code Playgroud)

和正在编译的cpp:

#include <jni.h>

int main(){

    //firstTest();
    JavaVM *jvm;
    JNIEnv *env;

    JavaVMInitArgs vm_args;
    JavaVMOption options[1];
    options[0].optionString = "-Djava.class.path=C:/Users/Ron/Dropbox/jni/simple/ctojava/win";
    vm_args.version = JNI_VERSION_1_6;
    vm_args.options = options;
    vm_args.nOptions = 1;
    vm_args.ignoreUnrecognized = JNI_FALSE;

    int res = JNI_CreateJavaVM(&jvm, (void **)&env, &vm_args);

    jclass cls = env->FindClass("Hello");
    jmethodID mid = …
Run Code Online (Sandbox Code Playgroud)

c++ windows java-native-interface

7
推荐指数
1
解决办法
6501
查看次数

标签 统计

c ×1

c++ ×1

java-native-interface ×1

linux ×1

windows ×1