• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed opengl c++ visual studio 2017, problem z bibliotekami przy kompilacji

Object Storage Arubacloud
0 głosów
281 wizyt
pytanie zadane 23 kwietnia 2019 w C i C++ przez michalnt Użytkownik (520 p.)
zamknięte 23 kwietnia 2019 przez michalnt

Witam, zacząłem przygodę z openGL, dodałem 2 biblioteki glew oraz glfw obie pobrane z oficjalnych stron, wersje 32-bitowe. Następnie dodałem je do projektu napisałem poniższy kod i napotkałem się z takim błędem(zamieściłem pod kodem). Posiadam Visual Studio 2017.

#include <iostream>

#define GLEW_STATIC
#include <GL/glew.h>

#include <GLFW/glfw3.h>

const GLint WIDTH = 800, HEIGHT = 600;

int main()
{

	glfwInit();

	glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);		// ustalanie wersji open gl (3)X.6 
	glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);			// ustalanie wersji open gl 3.Y(3) 
	glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
	glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT,GL_TRUE);
	glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);  // zapobieganie roszerzaniu okna

		GLFWwindow *window = glfwCreateWindow(WIDTH,HEIGHT,"LEARN OPENGL",nullptr,nullptr); // port do otworzenia okna

		int screenWidth, screenHeight;

		glfwGetFramebufferSize(window, &screenWidth, &screenHeight); // pobieranie aktualnej wartosci wysokosci i szerokosci okna

		if (nullptr == window)
		{
			std::cout << "Failed to create GLFW window" << std::endl;
			glfwTerminate();

			return EXIT_FAILURE;
		}

		glfwMakeContextCurrent(window);

		glewExperimental = GL_TRUE;

		if (GLEW_OK != glewInit())
		{
			std::cout << "Failed to initialise GLEW" << std::endl;

			return EXIT_FAILURE;
		}

		glViewport(0, 0, screenWidth, screenHeight);

		while (!glfwWindowShouldClose(window))
		{
			glfwPollEvents();

			glClearColor(0.2f,0.3f,0.3f,1.0f);
			glClear(GL_COLOR_BUFFER_BIT);

			//RYSUJE OPENGL STUFF

			glfwSwapBuffers(window);
		}

		glfwTerminate();

		return EXIT_SUCCESS;
}

1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>main.obj : error LNK2019: unresolved external symbol _glfwInit referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _glfwTerminate referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _glfwWindowHint referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _glfwCreateWindow referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _glfwWindowShouldClose referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _glfwGetFramebufferSize referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _glfwPollEvents referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _glfwMakeContextCurrent referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _glfwSwapBuffers referenced in function _main
1>D:\STUDIA AiR\s4\gk\opengl\glfw\lib-vc2017\glfw3.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'x86'
1>D:\STUDIA AiR\s4\gk\opengl\tu1\Debug\tu1.exe : fatal error LNK1120: 9 unresolved externals
1>Done building project "tu1.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
 

 

 

komentarz zamknięcia: rozwiązane

1 odpowiedź

0 głosów
odpowiedź 23 kwietnia 2019 przez criss Mędrzec (172,590 p.)
wybrane 23 kwietnia 2019 przez michalnt
 
Najlepsza

Projekt budujesz na x86 (Visual Studio podpisuje to też czasem jako Win32 czy x64? Jeśli x86 oraz masz 32-bitową binarke glfw, to powinno być ok.

 dodałem 2 biblioteki glew oraz glfw obie pobrane z oficjalnych stron, wersje 32-bitowe.

 warning LNK4272: library machine type 'x64' conflicts with target machine type 'x86'

Wygląda jednak na to, że masz glfw 64bit a budujesz apke na x86 (32bit). 

komentarz 23 kwietnia 2019 przez michalnt Użytkownik (520 p.)
Spróbuję jeszcze raz pobrać, buduję na x86.

Podobne pytania

0 głosów
0 odpowiedzi 352 wizyt
0 głosów
2 odpowiedzi 746 wizyt
0 głosów
1 odpowiedź 602 wizyt
pytanie zadane 24 marca 2019 w Systemy operacyjne, programy przez Kubs Mądrala (5,190 p.)

92,551 zapytań

141,397 odpowiedzi

319,528 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...