【发布时间】:2015-05-01 11:39:30
【问题描述】:
我目前正在编写一个使用 GLib-2.0 作为其数据结构的小 C 程序。
我正在使用以下命令进行编译:
gcc -g -O3 -std=gnu99 -fPIC -shared -I/usr/local/java/jdk1.8.0_20/include \
-I/usr/local/java/jdk1.8.0_20/include/linux \
`pkg-config --cflags glib-2.0` `pkg-config --libs glib-2.0` \
-o runtimesamplingagent.so runtimesamplingagent.c
这没有问题。
但是,当我运行程序时,出现以下错误:
symbol lookup error: ./runtimesamplingagent.so: undefined symbol: g_node_new
这是什么原因?
我对 C 很陌生,但我猜这是某种链接问题。 任何提示可能是什么原因?
我正在使用安装了 libglib-2.0-dev 的 Ubuntu 14.04 LTS 64 位机器。
【问题讨论】:
-
ldd yourprogram的输出和LD_LIBRARY_PATH的引用匹配吗?