我正在尝试在命令行上使用 Visual Studio 2008 构建程序。阅读演练:在命令行上编译本机 C++ 程序后。我尝试了以下方法:
运行 vcvaralls.bat 来设置环境:
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
Run Code Online (Sandbox Code Playgroud)
编写了这个简单的 C++ 应用程序:
#define _WIN32_WINNT 0x501
#include <windows.h>
INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
MessageBoxA(0,"Hello","Hello",MB_OK);
return 0;
}`
Run Code Online (Sandbox Code Playgroud)
并试图编译它:
cl /EHsc /GA simple.cpp
Run Code Online (Sandbox Code Playgroud)
这会发生:
/out:simple.exe
simple.obj
simple.obj : error LNK2019: unresolved external symbol __imp__MessageBoxA@16 referenced in function _WinMain@16
simple.exe : fatal error LNK1120: 1 unresolved externals
Run Code Online (Sandbox Code Playgroud)
这让我相信我需要包含 user32.lib 或类似内容。我无法从视觉工作室手册中弄清楚如何做到这一点。
是否没有神奇的Python方法来访问类的实例,该类的实例内部引用了当前的self?IE:
class A(object):
def __init__(self):
self.B = B()
def say_hi(self):
print "Hi"
class B(object)
def __init__(self):
__get_owner_ref__.say_hi()
A()
Run Code Online (Sandbox Code Playgroud)
get_owner_ref是不存在的灵丹妙药。python 中是否有针对此行为的功能?
是的,我知道我可以将引用传递给构造函数,但我正在寻找更优雅的解决方案。
c ×1
c++ ×1
class ×1
command-line ×1
object ×1
oop ×1
python ×1
relationship ×1
visual-c++ ×1
winapi ×1