我对 C++ 和编译相当陌生,但是我过去曾经这样做过,并且之前没有遇到过这个问题。我有人为我编写了一些程序,并留下了有关如何编译它的说明,以便我需要进行任何更改。我首先“cd”到包含所有文件的文件夹,然后运行他给我的命令:
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
我很感谢您的帮助。
问:以下是错误:
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):你需要直接下载包:
我确实遇到了一些错误,但如果我没记错的话,这些相同的错误一直存在并且从未影响编译。
你错了。错误意味着编译未完成并且没有生成输出文件。修复错误(通过安装 id3 标头)。