我是第一次使用GLFW.拉出最新的稳定版本(3.2.1),我正在使用GLFW网站上的示例代码:
#include <GLFW/glfw3.h>
int main(void)
{
GLFWwindow* window;
/* Initialize the library */
if (!glfwInit())
return -1;
/* Create a windowed mode window and its OpenGL context */
window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
if (!window)
{
glfwTerminate();
return -1;
}
/* Make the window's context current */
glfwMakeContextCurrent(window);
/* Loop until the user closes the window */
while (!glfwWindowShouldClose(window))
{
/* Render here */
glClear(GL_COLOR_BUFFER_BIT);
/* Swap front and back buffers */
glfwSwapBuffers(window);
/* Poll for and …Run Code Online (Sandbox Code Playgroud) 我正在我的大学学习汇编语言,并获得了包含MASM 615的CD,并且正在使用Irvine32包含库。一切都可以在学校计算机上正常运行,但是当我尝试在家用计算机上编译并运行相同的代码时,出现链接错误。
INCLUDE Irvine32.inc
.code
main PROC
mov eax,10000h ; EAX = 10000h
add eax,40000h ; EAX = 50000h
sub eax,20000h ; EAX = 30000h
call DumpRegs
exit
main ENDP
END main
Run Code Online (Sandbox Code Playgroud)
该代码在学校的PC上运行良好。在家里,我进入DOS,将路径设置为MASM文件夹,然后执行Make32文件。
这是我得到的错误:
LINK32 : error LNK2001: unresolved external symbol _mainCRTStartup
test.exe : fatal error LNK1120: 1 unresolved externals
Run Code Online (Sandbox Code Playgroud)
该程序进行编译(我得到了.lst,.obj和.pdb文件),仅此而已。我想这是因为我家里有一个64位操作系统,但是我不知道如何在64位环境中启动和运行它-CD或本书在64位系统上没有任何内容。只有一个make16或make32 .bat文件。这真是个无赖,因为这意味着除非有工作要做,否则我不能在家做任何工作?
std::istream & operator >>(std::istream & ins, Rational & target)
{
int num, den;
char symb;
std::cout << "Please enter a rational number: ";
ins >> num >> symb >> den;
std::cout << std::endl;
if(validateInput(num, symb, den)){
target = Rational(num, den);
return ins;
}
else{
std::cin >> target;
}
}
bool validateInput(int num, char symb, int den)
{
if(symb != '/'){
std::cout << "Error: Illegal format. Please use '2/4'." << std::endl;
return false;
}
if((static_cast<int>(num) != num) && (static_cast<int>(den) != den)){ …Run Code Online (Sandbox Code Playgroud)