g ++没有编译我的c ++程序

时间:2012-01-29 21:09:46

标签: c++ compiler-construction g++

我对c ++和编译很新,不过我过去做过这个,之前没有遇到过这个问题。我有人为我编程,并在需要进行任何更改时留下如何编译它的说明。我首先“cd”到包含所有文件的文件夹,然后我运行他给我的命令:

g++ -o filename main.cpp another.cpp aanother.cpp -L/usr/lib `mysql_config --cflags --libs` -lid3 -lcurl -lpthread

我确实遇到了一些错误,但是如果我没记错的话,那些错误一直存在并且从未影响过编译。出于某种原因,“文件名”根本没有显示在该文件夹中。我错了,新程序应该在我“cd”编辑的同一文件夹中找到?可能是什么问题呢?为什么没有创建“文件名”?

我不知道这是否会对任何人有所帮助,但这里的错误我很确定过去没有引起任何问题:

[root@host.domain.net] folder >> g++ -o filename main.cpp another.cpp aanother.cpp -L/usr/lib `mysql_config --cflags --libs` -lid3 -lcurl -lpthread
main.cpp:13:21: error: id3/tag.h: No such file or directory
main.cpp:14:30: error: id3/misc_support.h: No such file or directory
main.cpp: In function âvoid readConfig()â:
main.cpp:679: error: variable âstd::ifstream myfileâ has initializer but incomplete type
main.cpp:682: error: âwsâ was not declared in this scope

我很感激帮助。

2 个答案:

答案 0 :(得分:1)

  

我确实遇到了一些错误,但是如果我没记错的话,那些错误一直存在并且从未影响过编译。

你错了。错误意味着编译没有完成,也没有生成输出文件。修复错误(通过安装id3标头)。

答案 1 :(得分:1)

  

问:这是错误:

g++ -o filename main.cpp another.cpp aanother.cpp -L/usr/lib `mysql_config --cflags --libs` -lid3 -lcurl -lpthread
main.cpp:13:21: error: id3/tag.h: No such file or directory
main.cpp:14:30: error: id3/misc_support.h: No such file or directory

问:您需要安装ID3开发包(包括所有需要的标题)。

在我的Centos系统上,我可以检查这样的ID3包:

rpm -qa|grep -i id3

应该可以使用如下命令安装它:

yum install id3v2 id3lib-devel

如果您有Ubuntu / Debian系统,则可以使用“apt-get install”或您喜欢的包管理器GUI。

修改

我在Centos 5.5上尝试了以下内容:

sudo yum install id3lib id3lib-devel

它不起作用:

addons                                                   |  951 B     00:00
base                                                     | 1.1 kB     00:00
c5-testing                                               |  951 B     00:00
extras                                                   | 2.1 kB     00:00
updates                                                  | 1.9 kB     00:00
Setting up Install Process
No package id3lib available.
No package id3lib-devel available.
Nothing to do

所以我猜不再支持RPM(至少对于Centos):你需要直接下载软件包: