c - configure --disable-shared 是否适用于 tcl 8.6.3?需要静态libtcl8.6.a

标签 c makefile shared-libraries tcl configure

我的目标是构建一个静态的libtcl8.6.a

所以我只是尝试构建 tcl8.6.3

./configure --enable-threads --disable-shared --enable-symbols=mem

然后我将我的应用程序链接到 libtcl8.6.a。但是当我运行该应用程序时,我得到以下输出:

error while loading shared libraries: libtcl8.6.so: cannot open shared object file: No such file or directory It's as if the --disable-shared config was ignored.

tcl 8.6.3 是否符合预期?

最佳答案

按照 @Etan 的建议,我重新链接了应用程序,问题就消失了。

我的失败版本的应用程序是通过软链接(soft link)(使用 ln)链接的,因此从 8.4.11 升级到 8.6.3 时,我不必过多干扰构建环境。

我的工作版本使用了软链接(soft link),而是更新了构建环境以直接正确链接到 8.6.3。

关于c - configure --disable-shared 是否适用于 tcl 8.6.3?需要静态libtcl8.6.a,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28587042/

相关文章:

c - 将大型 C 程序分解为头文件和 C 文件

c++ - 编译错误(g++ 和 make)

c++ - 在 OpenCV 项目中添加 CvSeq 或其他类型的 C/C++ 动态内存存储

c - 出于某种原因,printf 函数在我要显示的内容上添加了一个空格

python - 嵌入式Python,导入数学错误

c# - 异常 : System. DllNotFoundException - 使用 .NET Core 2.1 调用 CoolProp( native C++ 库)函数

c++ - 这个奇怪的 "/usr/bin/ld: cannot find -lXAW_LIBRARY-NOTFOUND"错误是什么意思?

c - 使用 dtrace 计算随时间变化的平均和最大磁盘读/写队列的示例

c++ - GNU 递归 make - 如何捕获 make 变量以执行嵌套的 makefile

jenkins - 使用管道共享库访问 Jenkins 实例