我是初学者,我有一个问题:
这段代码没有编译:
main.cpp中:
#include <stdlib.h>
#include "readdir.h"
#include "mysql.h"
#include "readimage.h"
int main(int argc, char** argv) {
if (argc>1){
readdir(argv[1]);
// test();
return (EXIT_SUCCESS);
}
std::cout << "Bitte Pfad angeben !" << std::endl ;
return (EXIT_FAILURE);
}
Run Code Online (Sandbox Code Playgroud)
readimage.cpp
#include <Magick++.h>
#include <iostream>
#include <vector>
using namespace Magick; using namespace std;
void readImage(std::vector<string> &filenames) {
for (unsigned int i = 0; i < filenames.size(); ++i) {
try {
Image img("binary/" + filenames.at(i));
for (unsigned int y = 1; y < img.rows(); y++) {
for (unsigned int x = 1; x < img.columns(); x++) {
ColorRGB rgb(img.pixelColor(x, y));
// cout << "x: " << x << " y: " << y << " : " << rgb.red() << endl;
}
}
cout << "done " << i << endl;
} catch (Magick::Exception & error) {
cerr << "Caught Magick++ exception: " << error.what() << endl;
}
} }
Run Code Online (Sandbox Code Playgroud)
readimage.h
#ifndef _READIMAGE_H
#define _READIMAGE_H
#include <Magick++.h>
#include <iostream>
#include <vector>
#include <string>
using namespace Magick;
using namespace std;
void readImage(vector<string> &filenames)
#endif /* _READIMAGE_H */
Run Code Online (Sandbox Code Playgroud)
如果想用这段代码编译它:
g ++ main.cpp
Magick++-config --cflags --cppflags --ldflags --libsreadimage.cpp
我收到此错误消息:
main.cpp:5:错误:'int'之前的预期初始值设定项
我不知道为什么 ?:(
有人能帮助我吗?:)
在第一次编译时,您应该做的第一件事就是一次尝试一段代码.不要把一堆代码放在一起,希望它能编译.相反,一次取一个片段.所以在这里,您可以注释掉您的包含以及您希望在这些文件中使用这些内容的代码.
乍一看,它看起来像
void readImage(vector<string> &filenames)
Run Code Online (Sandbox Code Playgroud)
因为你正在声明它,所以在行的末尾缺少一个分号.