【问题标题】:makefile issues when using Eclipse C++ on Ubuntu在 Ubuntu 上使用 Eclipse C++ 时的 makefile 问题
【发布时间】:2023-03-18 09:43:01
【问题描述】:

尝试在 Eclipse 的 C++ IDE 中构建程序时出现“make: ***[diffusionWeightsTest] Error 1”和“recipe for target 'diffusionWeightsTest' failed”错误。如果我打开 makefile,以下代码块与错误有关(具体来说,错误在 @echo 'Building target: $@'):

diffusionWeightsTest: $(OBJS) $(USER_OBJS)
    @echo 'Building target: $@'
    @echo 'Invoking: GCC C++ Linker'
    g++  -o "diffusionWeightsTest" $(OBJS) $(USER_OBJS) $(LIBS)
    @echo 'Finished building target: $@'
    @echo ' '

如果我创建一个新的 HelloWorld C++ 项目并构建它,它似乎工作正常。除了链接 GSL 库之外,除了复制 .C 和 .H 代码文件(来自我最初编写它们的 Windows 机器)之外,我什么也没做。

我想在虚拟 Ubuntu Linux 机器上使用 Eclipse 的 IDE 和 GSL 库进行 C++ 开发。我安装了 Oracle 的 JDK、GSL 库(遵循安装指南)和 Eclipse 最新的 C++ IDE。在我的程序属性中,我链接了 gsl 和 gslcblas 库(右键单击项目名称 >> 属性 >> C/C++ 构建 >> 设置 >> GCC C++ 链接器 >> 库 >> 将 gslcblas 和 gsl 添加到库(-l ) ) 这样 Eclipse 似乎可以识别代码中的这些函数。

任何想法可能导致此生成文件错误?

【问题讨论】:

    标签: c++ linux eclipse makefile gsl


    【解决方案1】:

    其实只是想通了。显然,将 GSL 库链接到项目的方式有一个特定的顺序。您必须先列出“gsl”,然后再列出“gslcblas”。

    所以,澄清一下,在你安装了 GSL 库之后(从他们的网站下载包,解压,打开 GSL 文件夹中的终端,./configure,make,sudo make install),你必须链接将 gsl 和 gslcblas 库添加到 Eclipse 项目中。在 Eclipse 的 Project Explorer 中右键单击项目名称 >> Properties >> C/C++ Build >> Settings >> GCC C++ Linker >> Libraries >> 将 gsl 和 gslcblas 添加到 Libraries (-l)。

    但是您必须先放 gsl,然后放 gslcblas。顺序很重要。否则会出现上述错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多