将WinMain参数传递给另一个函数
Passing WinMain parameters to another function
我正在Windows上开发一个应用程序,但我也想支持其他平台(我写的大部分代码都是平台独立的)。无论如何,为了开发,我想让事情保持简单(也许我在这种方法上很天真),所以我的main.cpp
看起来有点像下面:
#ifdef _WIN32
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR cmdLine,
int cmdShow)
#else
int main(int argc, char* argv[])
#endif
{
/* If the application is launched under Windows */
#ifdef _WIN32
win_init wi;
return wi.init(hInstance, hPrevInstance, cmdLine, cmdShow);
#endif
/* If the application is launched under OS X */
#ifdef __APPLE__
osx_init oi;
return oi.init();
#endif
}
所以这个想法是,如果应用程序在Windows下启动,WinMain
被调用,然后我调用wi。使用提供的WinMain参数init来完成其余的工作。
我认为我是聪明的,但当我编译我得到一个错误:
MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
我已经研究了这个错误,当人们忘记一个主要方法或试图将DLL编译为。exe时,似乎会发生这种情况
对于我的问题;我很好奇为什么会发生这种情况,你建议我用什么方法来代替这种方法?
您要使用/SUBSYSTEM:WINDOWS
链接器选项,以便使用WinMain
。
相关文章:
- 如何将一个类的函数作为另一个类的另一个函数的参数传递
- 将 N-arg 函数包装到另一个函数中
- C++从另一个函数退出函数
- 视觉我希望一个函数在另一个函数C++中进行计算
- 在另一个函数 (c++) 中调用变量
- 如何在另一个函数中使用返回值作为参数?
- 如何包装一个函数以适应另一个函数的所需类型
- 当使用我在一个函数、另一个函数中修改的数组时,在我的输出中得到一个奇怪的负数
- 如何将 lambda 函数作为参数发送到另一个函数
- 将可变参数从一个函数传递到另一个函数
- 有没有办法在另一个函数中加入线程?(即超出其自身范围)
- 存储另一个函数返回的布尔数组时遇到问题
- 我正在尝试将表的地址传递给要在另一个函数中使用的指针,但得到不兼容的指针类型
- 如何在C++中提供模板化函数作为另一个函数的参数,默认值?
- 将作业传递给另一个函数,而不会延迟 arduino
- 编译器在C++中调用另一个函数时,在参数中查找已删除的构造函数
- 将参数从一个函数传递到另一个函数(没有模板) - C++
- 如何利用指针从一个函数到另一个函数?
- 使用另一个函数调用一个函数(都在类中)时出现问题.没有错误代码C++
- 在 c++ 中,如何将当前函数的所有参数传递给另一个函数?