控制台./a.out无效

时间:2018-03-05 18:41:36

标签: c++ linux bash gsl

我试图用gsl在c ++中编译一个简单的程序。在我们的大学服务器上,我们安装了GSL。主要问题是,我正在努力:

g++ atest.cpp -c -lgsl -lgslcblas -c lm

之后,我打字:

./a.out

我得到了:

-bash: ./a.out : No such file or directory

问题是什么?感谢。

2 个答案:

答案 0 :(得分:8)

你只是编译而不是链接。来自man gcc

       -c  Compile or assemble the source files, but do not link.  The linking
           stage simply is not done.  The ultimate output is in the form of an
           object file for each source file.

           By default, the object file name for a source file is made by
           replacing the suffix .c, .i, .s, etc., with .o.

           Unrecognized input files, not requiring compilation or assembly,
           are ignored.

答案 1 :(得分:2)

所以-c选项(命令行参数)意味着编译

g++ atest.cpp -c -lgsl -lgslcblas -lm
g++ atest.o

这将生成a.out文件,或者您可以使用简写

g++ atest.cpp -lgsl -lgslcblas -lm

将编译和链接代码。

另外,在尝试运行之前,您可以使用ls检查包含a.out的目录。