小编dal*_*ala的帖子

如何使用gcc/cmake在64位Linux机器上编译32位二进制文​​件

是否有可能编译项目在32位cmakegcc一对64位系统?它可能是,但我该怎么做?

当我尝试"无知"的方式,没有设置任何参数/标志/等,只是设置LD_LIBRARY_PATH找到它中的链接库~/tools/lib似乎忽略它,只查看名为lib64的子目录.

linux 64-bit gcc 32-bit cmake

128
推荐指数
6
解决办法
16万
查看次数

构建涉及cmake的项目,如何让它了解库

当我尝试在64位linux(debian)机器上使用cmake和gcc构建这个项目时,我从链接器收到错误:

Linking C executable ../../../../cpsadamsx
/home/dala/lib64/libSimTKcommon.so: undefined reference to `dlopen'
/home/dala/lib64/libSimTKcommon.so: undefined reference to `dlclose'
/home/dala/lib64/libSimTKcommon.so: undefined reference to `dlerror'
/home/dala/lib64/libSimTKcommon.so: undefined reference to `dlsym'
collect2: ld returned 1 exit status
make[2]: *** [cpsadamsx] Error 1
make[1]: *** [sundials/examples/cpodes/serial/CMakeFiles/cpsadamsx.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Run Code Online (Sandbox Code Playgroud)

显然dlopen,dlclose,dlerror和dlsym是对libdl.so的引用.我在/lib64/libdl.so.2中有该库,但为什么找不到它?

它会是一个正常的'./configure; 使; make install'-path我可以设置LIBS变量并发出这样的configure命令(我认为):

export LIBS=-ldl && ./configure
Run Code Online (Sandbox Code Playgroud)

但是我现在该怎么做?

更新:

所以似乎找到了(或至少一个)库,但不包含有问题的符号.也许它尝试使用/ lib中的32位库?

有没有办法反汇编/lib64/libdl.so.2以确保它有引用dlopen等?

现在问题似乎是将构建工具引导到库的正确版本.

linker cross-platform cmake

10
推荐指数
2
解决办法
6926
查看次数

禁用cmake中的测试

我尝试构建的项目的测试无法构建(缺少库).测试本身并不重要,但阻止我构建和安装基本文件.所以我想做一个快速修复.

如何在cmake项目中转换测试的构建?我应该在根目录或子目录测试中编辑CMakeLists.txt文件吗?我该如何编辑?

发出一个命令ENABLE_TESTING().我试图评论那个,但它没有帮助.还尝试重命名子目录测试.也没有帮助.这只适用于正在构建"隐式"测试的特殊情况.

testing cmake

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

每次保存时如何进行Emacs备份?

我不时删除不应该的文件,最糟糕的是我自己写的文件.因此,我有很多次被Emacs的备份功能保存.

但我的问题是Emacs只在你第一次保存缓冲区时进行备份.有没有办法让Emacs每次按下Cx Cs时都这样做?

这就是我的.emacs目前的样子(只有处理备份的部分):

*剪*

;; =====备份=====

;; 启用备份文件.
(setq make-backup-files t)

;; 将所有备份文件保存在此目录中.
(setq backup-directory-alist(quote((".*"."〜/ .emacs_backups /"))))

;; 始终通过复制备份(最安全,但最慢)
(setq备份复制t)

;; 保存备份时附加.~1~(和递增数字)到文件末尾
(setq version-control t)

;; 定义要保留的文件的旧版本
数量
(从;;最近和向后计数(setq keep-new-versions 100)开始

*剪*

emacs backup

5
推荐指数
1
解决办法
695
查看次数

标签 统计

cmake ×3

32-bit ×1

64-bit ×1

backup ×1

cross-platform ×1

emacs ×1

gcc ×1

linker ×1

linux ×1

testing ×1