【问题标题】:g++ error while compiling C++ application that used Mono API编译使用 Mono API 的 C++ 应用程序时出现 g++ 错误
【发布时间】:2014-12-08 05:52:15
【问题描述】:

我正在编译我的 C++ 应用程序并希望将其链接到单声道。我正在使用 OpenSusE。我已经安装了 mono-complete 和 glibc-devel-static 包。我正在编译如下 -

$>g++ --static monoapp.cpp `pkg-config --cflags --libs mono` -I /usr/include/mono-2.0
/tmp/ccGfpBjX.o: In function `Launch(char const*, char const*, int, char const* const*, char const*)':
monoapp.cpp:(.text+0x23e): undefined reference to `mono_set_dirs'
monoapp.cpp:(.text+0x24f): undefined reference to `mono_jit_init_version'
monoapp.cpp:(.text+0x28b): undefined reference to `mono_domain_assembly_open'
monoapp.cpp:(.text+0x2c2): undefined reference to `mono_jit_exec'
collect2: error: ld returned 1 exit status

更新 1 - 我尝试将 -lmono 提供给链接器,但它抱怨 -lmono 未找到。以下是定位命令的输出。

$>locate libmono
/usr/lib64/libmono-2.0.a
/usr/lib64/libmono-2.0.so
/usr/lib64/libmono-2.0.so.1
/usr/lib64/libmono-2.0.so.1.0.0

上面的输出清楚地表明存在 libmono。

UPDATE -2 pkg-config 的输出为空

$>pkg-config --cflags --libs mono

$>

更新 -3- 我尝试设置 PKG_CONFIG_PATH 以便它可以找到 mono.pc 文件,但它仍然没有工作

请帮忙。

谢谢, 呸呸呸

【问题讨论】:

  • 尝试 -lmono-2.0 或为指向 libmono-2.0.a 的 libmono.a 创建符号链接?

标签: gcc mono g++ static-linking


【解决方案1】:

我通过提供静态库的完整路径来解决这个问题 -

g++ --static monoapp.cpp pkg-config --cflags --libs mono -I /usr/include/mono-2.0 -L /usr/lib64/ -lmono

【讨论】:

    猜你喜欢
    • 2016-06-01
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多