#include <FakeMas.h>
#include <zinc-testsupport-client-api/ClientFactory.h>
#include <zinc-testsupport-client-api/Process.h>
#include <zinc-testsupport-client-api/ProcessCreator.h>
FakeMas::FakeMas() {
ClientFactory &clientFactory(PluginFactory::getInstance<ClientFactory>(pluginConfig));
boost::shared_ptr<ProcessCreator> webServerProcessCreator = clientFactory.createProcessCreator();
}
ビルドすると、次のようなエラーが表示されます。
...../src/.libs/libZincTestWebServer.so: undefined reference to `zinc::testsupport::client::ClientFactory::createProcessCreator()'
興味深いのは、クラスの 2 行目をコメントアウトすると、
boost::shared_ptr<ProcessCreator> webServerProcessCreator = clientFactory.createProcessCreator()
それは成功を築くでしょう
でビルドできるので、リンケージの問題はないようです
ClientFactory &clientFactory(PluginFactory::getInstance<ClientFactory>(pluginConfig))
それで、どのようにクラスを見つけることができますが、関数を見つけることができませんか??
ところで、関数は正しい方法で宣言および定義されていると思います。
boost::shared_ptr<ProcessCreator> ClientFactory::createProcessCreator() {
.........
}
誰かがそれについて何か考えましたか?ありがとう