我已经从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。

08-07 11:57