【问题标题】:(Newbie) ld exit return 1, and libgcrypt(新手) ld exit return 1, and libgcrypt
【发布时间】:2016-05-18 10:11:39
【问题描述】:

经过大量研究,试图找出如何将库链接到 gcc,去 /usr/bin 和 /usr/lib 确认这些东西在那里。当我尝试编译我的 keygen 文件时,这是它脱口而出的错误。

$ gcc keygen.c -W -Wall /usr/bin/libgcrypt-config
/usr/bin/libgcrypt-config: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status

许多消息来源告诉我,我应该以这种方式编译以检查 libgcrypt 是否安装正确。

$ gcc -o foo foo.c 'libgcrypt-config --cflags --libs'

但每次我尝试这样做时,都会脱口而出:

gcc: error: libgcrypt-config --cflags --libs: No such file or directory

我已经确认 libgcrypt20 和 libgcrypt20-dev 是使用 dpkg --get-selections>installed 安装的。但我对可能出了什么问题感到非常困惑。

我们将不胜感激任何形式的帮助。

【问题讨论】:

  • 告诉这样做的人是否还提到可能值得您花时间调查您是否尝试链接不匹配的 架构(即 64 位库与 32 位库过程,反之亦然)?仅供参考,libgcrypt-config 是一个应该在刻度内执行的实用程序,而不是引号。 `'。键盘顶行数字左侧的键1。例如:gcc -o foo foo.c `libgcrypt-config --cflags --libs`
  • 抱歉给您添麻烦了。我在研究中确实遇到了不匹配的架构。我几乎无法理解他们。但是,我使用 sudo apt-get install 来安装 libgcrypt,不知道会不会有问题。男孩,哦,男孩,我是否觉得自己很愚蠢。我正在查看来自两个不同 .pdf 的图像。它使用的字体使 ' 和 ` 看起来非常相似。谢谢你。这解决了我的问题。

标签: c gcc linker libgcrypt


【解决方案1】:

试试:

$ gcc -o foo foo.c `libgcrypt-config --cflags --libs`

` 而不是 '

【讨论】:

  • 是的,这解决了我的问题。谢谢你。我看到的来自 .pdf 的图像使用的字体使 ' 和 ` 看起来非常相似......现在我觉得自己像个白痴。不过在那张纸条上。当您在这种情况下使用它时,以 ` 开头和结尾的文本表示什么?我想知道。谢谢。
  • 不客气,您在反引号之间键入的所有内容都会在主命令之前由 shell 评估(执行):unix.stackexchange.com/questions/27428/…
猜你喜欢
  • 2014-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-31
  • 2010-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多