私はクラスExecuter
をExecuter.hpp
とExecuter.cpp
に分割して定義しました。 Executer.hpp
でC++ - Eclipse - Organize include
コードがある:
static std::unique_ptr<Executer> mInstance;
static std::once_flag mOnceFlag;
がExecuter.cpp
でコードがあります:
std::unique_ptr<Executer> Executer::mInstance;
std::once_flag Executer::mOnceFlag; // without this apparently
// useless line of code, the program using this shared lib
// claims: undefined reference to `Executer::mOnceFlag'
その後、私は日食私の輸入を整理できるようにしてみてください。
私は何を得ることである:私は何を期待
//------------------------------- Executer.hpp
#include <memory>
#include <stdexcept>
#include <string>
namespace std {
struct once_flag;
} /* namespace std */
//------------------------------- Executer.cpp
#include "Executer.hpp"
#include <mutex>
(とも正しくコンパイルされている):
//------------------------------- Executer.hpp
#include <memory>
#include <mutex>
#include <stdexcept>
#include <string>
//------------------------------- Executer.cpp
#include "Executer.hpp"
- Eclipseはそのように動作しているのはなぜ?
- 私は(私は多くのオプションを見てきましたが、私は最悪のものだ)が含ま整理の私の方法を得るようにEclipseを設定でき