-march=armv8-a
フラグを使用してgccでC++ Raspberry Pi 3コードをコンパイルしようとしています。ただし、このフラグを使用すると、pure virtual method called
と表示されてスレッドが失敗します。 -march=armv8-a
フラグがあることはわかっています。なぜなら、それをコンパイルすると、スレッドが再び動作し始めるからです。-marchを使用してコンパイルすると、スレッドは「純粋仮想メソッド」と呼ばれるようになります
ご注意:スレッドがさえ起動しない、それだけでpure virtual method called
を与え、誰かが自分のラズベリーパイ3に-march=armv8-a
でこれをコンパイルし、彼らが得たものに戻って報告することができますか?
#include <iostream>
#include <thread>
#include <unistd.h>
void threadedFunction()
{
std::cout << "Hello from thread" << std::endl;
}
int main()
{
std::thread t1(threadedFunction);
sleep(2);
return 0;
}
スレッドを「detach()」と「join()」しているのはなぜですか? – Justin
@justin私は元のコードを捨てました。 –
@KevinDuarteそれはまだ間違っています。一度あなたが「デタッチ」したら、もう「結合」できないので、あなたはそれを行うことから例外を得るべきです。 – InternetAussie