0

我正在尝试配置 OpenIndiana 构建机器,而且对于 (Open)(Solaris|Indiana) 如何处理构建过程的(不那么)细微差别,我通常是新手。虽然我现在明白了,在 Solaris 上,即使在 64 位内核上运行时,默认也是将应用程序构建为 m32,除非-m64明确提供;我似乎无法正确配置 的默认搜索路径clang,但gcc工作得很好而且花花公子。

我安装了llvmgccvia pkg,无需手动编译。

编译基本 C 文件gcc在默认 ( -m32) 和 64 位-m64配置中都可以正常工作,正确使用以下设置的搜索路径crle

mqudsi@openindiana:~/random$ crle

Default configuration file (/var/ld/ld.config) not found
  Platform:     32-bit LSB 80386
  Default Library Path (ELF):   /lib:/usr/lib  (system default)
  Trusted Directories (ELF):    /lib/secure:/usr/lib/secure  (system default)
mqudsi@openindiana:~/random$ crle -64

Default configuration file (/var/ld/64/ld.config) not found
  Platform:     64-bit LSB AMD64
  Default Library Path (ELF):   /lib/64:/usr/lib/64  (system default)
  Trusted Directories (ELF):    /lib/secure/64:/usr/lib/secure/64  (system default)

但是,clang似乎忘记了系统配置,并且需要我-L ....在编译时手动设置。全局设置LD_LIBRARY_PATH失败,因为在尝试使用它编译 64 位二进制文​​件时,clang 本身是 32 位的。

我怎样才能crle像 gcc 一样让 clang 尊重 Solaris 配置?

4

1 回答 1

0

好吧,鉴于 clang 对 Solaris 了解甚少,不幸的是,答案很简单:应该有人在 clang 中实现 crle 支持。

于 2012-12-15T16:39:19.303 回答