C++中main函数调用其他cpp文件的类的问题,总提示未定义的引用
#include<iostream>#include<boost/smart_ptr.hpp>#include"CmdLineParams.h"usingnamespac...
#include <iostream>
#include <boost/smart_ptr.hpp>
#include "CmdLineParams.h"
using namespace std;
int main(int argc, char* argv[])
{
boost::shared_ptr<CmdLineParams> cmdline(new CmdLineParams(argc, argv));
cout << "hello world" << endl;
return 0;
}
编译如下:
g++ -o main main.o -lboost_program_options-mgw49-mt-1_58
错误如下:
undefine reference to 'CmdLineParams::CmdLineParams(int, char**));'
为什么在g++编译不过去?我在VS2013编译可以通过。
为什么在g++下同不过,是不是要加什么编译条件?
谢谢您,已经解决
main:main.o
g++ -o main main.o CmdLineParams.o -lboost_program_options-mgw49-mt-1_58
main.o:main.cpp
g++ -c main.cpp CmdLineParams.cpp
clean:
rm -f *.o main 展开
#include <boost/smart_ptr.hpp>
#include "CmdLineParams.h"
using namespace std;
int main(int argc, char* argv[])
{
boost::shared_ptr<CmdLineParams> cmdline(new CmdLineParams(argc, argv));
cout << "hello world" << endl;
return 0;
}
编译如下:
g++ -o main main.o -lboost_program_options-mgw49-mt-1_58
错误如下:
undefine reference to 'CmdLineParams::CmdLineParams(int, char**));'
为什么在g++编译不过去?我在VS2013编译可以通过。
为什么在g++下同不过,是不是要加什么编译条件?
谢谢您,已经解决
main:main.o
g++ -o main main.o CmdLineParams.o -lboost_program_options-mgw49-mt-1_58
main.o:main.cpp
g++ -c main.cpp CmdLineParams.cpp
clean:
rm -f *.o main 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询