我已经从the website的zip文件中提取了源,并将它们放在Code :: Blocks的“ include”文件夹中,但是即使那样,它也不能编译提供的“ hello.cpp”示例。
(以供参考:)
#include <iostream>
#include <tinythread.h>
using namespace std;
using namespace tthread;
// This is the child thread function
void HelloThread(void * aArg)
{
cout << "Hello world!" << endl;
}
// This is the main program (i.e. the main thread)
int main()
{
// Start the child thread
thread t(HelloThread, 0);
// Wait for the thread to finish
t.join();
}
这些是以下错误:
|41|undefined reference to `tthread::thread::thread(void (*)(void*), void*)'|
|44|undefined reference to `tthread::thread::join()'|
|44|undefined reference to `tthread::thread::~thread()'|
|44|undefined reference to `tthread::thread::~thread()'|
wxDev-C ++也会发生相同的情况。我在想什么吗?例如,我需要构建库还是其他东西?如果是这样,怎么办?
最佳答案
从存档中的readme.txt中:
使用TinyThread ++
要在自己的项目中使用TinyThread ++,只需添加tinythread.cpp和
tinythread.h到您的项目。在您自己的代码中,执行以下操作:
#include <tinythread.h>
using namespace tthread;
如果您想使用fast_mutex类,请包含fast_mutex.h:
#include <fast_mutex.h>
仅包含标题会导致无法解析的符号,因为不会编译.cpp。