基本的に私がやりたいことは次のとおりです。
Core.cpp
共有ライブラリ (SDL ライブラリ、Ncurses ライブラリ、および Qt ライブラリ) をロードする があります...
は次のmain
とおりです。
int main(int argc, char **argv, char **env)
{
Core *core;
LibGestionnary gestionnary;
IDisplay *display;
display = gestionnary.loadLibFromName(std::string(argv[3]));
display->Boucle(core);
}
DisplaySDL、DisplayNcurses、および DisplayQT が継承するインターフェイスは次のとおりです。
#ifndef IDISPLAY_HH__
# define IDISPLAY_HH__
#include "../Core/Core.hh"
class IDisplay
{
public:
virtual ~IDisplay() { }
// virtual void dispSnake(Snake snake) = 0;
// virtual void dispBlock(Block block) = 0;
// virtual void dispMap(Map map) = 0;
virtual void Boucle(Core *core) = 0;
virtual void displayEnd(Core *core) = 0;
};
#endif
libsdl.so
とを簡単にロードできlibndk.so
、すべてがうまく機能しています。問題は、Qt が必要argc
でありargv
、QApplication
.
共有ライブラリにargv
アクセスできないことを知って、これを行うにはどうすればよいですか?argc