静态链接libtcod

时间:2014-07-30 14:25:59

标签: c++ libtcod

我试图将libtcod静态链接到我的C ++项目但没有成功。我收到很多链接错误,包括:

./ tuto:加载共享库时出错:libtcodxx.so.1:无法打开共享对象文件:没有这样的文件或目录

有没有人与该图书馆有类似的问题?

2 个答案:

答案 0 :(得分:1)

当前的libtcod(1.6.0)发行版中提供了动态库。 您可以动态链接libtcod,但需要创建符号链接:

    cd /var/lib/libtcod
    ln -s libtcod.so libtcod.so.1
    ln -s libtcodxx.so libtcodxx.so.1

使用以下命令编译:

    g++ src/*.cpp -o tuto -I/var/lib/libtcod/include -L/var/lib/libtcod -ltcod -ltcodxx -Wl,-rpath=/var/lib/libtcod -Wall

答案 1 :(得分:0)

链接到库时使用哪些标志?您是否使用了-static标志,是否指定了-ltcod?如果没有,请将-static -ltcod添加到命令行的末尾。 或者你可以强制告诉gcc链接静态构建库: gcc %YOUR_OTHER_FLAGS_ANDFILES% -l:libtcod.a -L%PATH_TO_TCOD_STATIC_BUILDED_FILE%