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

问题描述:

我对C++和编译相当陌生,但是我在过去做过这些,之前没有遇到过这个问题。我有人为我编程,并留下了关于如何编译它的说明,以便我需要做出任何更改。我第一次“cd”命令包含所有文件的文件夹,然后我跑,他给我的命令:g ++没有编译我的C++程序

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

我得到了一些错误,但如果我没有记错的同样的错误一直存在,并从不影响汇编。出于某种原因,“文件名”根本不在该文件夹中显示。我错误地认为新程序应该放在我“cd”编辑的同一个文件夹中?可能是什么问题呢?为什么没有创建“文件名”?

我不知道这是否会帮助任何人,但这里有我敢肯定这些错误没有导致过去的问题:

[[email protected]] 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 

我欣赏的帮助。

Q: Here are the errors:

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):您需要直接下载软件包:

+0

我也有Centos,但我得到了“grpe:command not found”。任何其他想法? – 2012-01-29 21:32:35

+0

刚刚意识到你的意思是grep。我确实有一个叫做“id3lib-3.8.3-7.el5.rf”。我跑了“yum id3v2 -libid3-devel”,并且列出了yum选项。运行“yum install id3v2”说没有可用的id3v2软件包。 – 2012-01-29 21:40:39

+0

@ user371699:您在安装命令中缺少'install'。 – 2012-01-29 21:53:39

I do get a few errors, but if I remember correctly those same errors have always been there and never impacted the compilation.

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

+0

你知道,如果有任何其他可能的解决方案,或者是你唯一的问题看?我真的很困惑,因为我确信我上次看到同样的错误,当它工作。我试图删除这两个包括,但仍然没有帮助。我不知道该从哪里开始...... – 2012-01-29 21:24:39

+3

不,如果它显示“错误”,则表示“错误”。如果您收到警告,您仍然可以编译,但如果您知道这些警告来自哪里,并且您确定忽略这些警告是安全的,那么您应该忽略它们。 – Cubic 2012-01-29 21:55:39

+0

@ user371699,唯一重要的是第一个错误。修复并重新编译 - 重复此操作,直到编译没有错误。你说过“我只是试图删除这两个包含,但仍然没有帮助”。你需要给我们更多的信息。你仍然得到'main.cpp:13:21:error:id3/tag.h:即使移除包含后也没有这样的文件或目录错误?如果是这样,你会遇到更大的问题 - 看起来你没有编辑你正在编译的文件。 – 2012-01-29 22:10:20