我是C++ noob,现在摆弄了几个小时的下列问题。希望有人能够启发我。如何将字符串类型参数传递给C++方法
我有内容,像这样一个CPP文件:
TEST.CPP文件内容
#include <iostream>
#include <exception>
#include <stdlib.h>
#include <string.h>
using std::cin; using std::endl;
using std::string;
string foobar(string bar) {
return "foo" + bar;
}
int main(int argc, char* argv[])
{
string bar = "bar";
System::convCout << "Foobar: " << foobar(bar) << endl;
}
这一个编译和运行良好。现在,我想放在foobar的到外部库:
mylib.h文件内容
string foobar(string bar);
mylib.cpp文件内容
#include <string.h>
using std::cin; using std::endl;
using std::string;
string foobar(string bar) {
return "foo" + bar;
}
TEST.CPP文件内容
#include <iostream>
#include <exception>
#include <stdlib.h>
#include "mylib.h"
int main(int argc, char* argv[])
{
string bar = "bar";
System::convCout << "Foobar: " << foobar(bar) << endl;
}
我调整了我的Makefile,以便test.cpp编译并链接mylib,但我总是遇到错误:
test.cpp::8 undefined reference to `foobar(std::string)
我该如何处理字符串参数?我的尝试似乎在这里完全错误。
问候 菲利克斯
显示完整的链接声明。 – trojanfoe
你是如何与外部图书馆联系的?你忘了添加'-lmylib'来链接参数吗? –
你的意思是包括''而不是''? –