Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
C++

[ROZWIĄZANE] Kompilacja za pomocą MinGW

c++

  • Zamknięty Temat jest zamknięty
7 odpowiedzi w tym temacie

#1 daedhelil

    Profesjonalista

  • Użytkownik

Reputacja: 8
Nowy

  • Postów:152
Offline

Napisano 26.01.2013 21:27

Witam, próbuje skompilować mój program z pomocą MinGW, ale nie za bardzo rozumiem jak powinienem to zrobić.

@echo off
:start
	cls
	rm -f *.o
	gcc -c rysowanie.cpp
	windres rysowanie.rc rysowanie-res.o
	gcc -o rysowanie.exe rysowanie-res.o
	pause
goto start

gcc -c rysowanie.cpp:
rysowanie.cpp:1: No include path in which to find windows.h
rysowanie.cpp:2: No include path in which to find iostream
rysowanie.cpp:3: No include path in which to find fstream
rysowanie.cpp:4: No include path in which to find conio.h

gcc -o rysowanie.exe rysowanie-res.o:
ld: cannot find crt1.o: No such file or directory
ld: cannot find -lmingw32
ld: cannot find -lgcc
ld: cannot find -lmoldname
ld: cannot find -lcrtdll
ld: cannot find -luser32
ld: cannot find -lkernel32
ld: cannot find -ladvapi32
ld: cannot find -lshell32
ld: cannot find -lmingw32
ld: cannot find -lgcc
ld: cannot find -lmoldname
ld: cannot find -lcrtdll

  • +
  • -
  • 0

#2 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 26.01.2013 21:53

Do kompilacji aplikacji C++ uzywasz g++ .
g++ rysowanie.cpp -o rysowanie.exe

  • +
  • -
  • 0

marwit-0.png


#3 daedhelil

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:152
Offline

Napisano 26.01.2013 23:12

Żeby to było takie proste.. tyle to ja wiem, ale ja chce dołączyć także ten plik rysowanie.rc

Chce uzyskać pliki obiektowe z *.rc oraz *.cpp, które następnie scale i przekompiluje do końca.

Proszę o połączenie postów, gdyż edycja nie jest możliwa, przepraszam za fatygę.

@echo off
:start
	cls
	set folder="C:\\Users\\Vincent\\Desktop\\rysuj"
	windres.exe -i rysowanie.rc -o obj\\rysowanie-res.o
	cd "C:\\MinGW\\bin\\"
	g++ -static -c %folder%\\rysowanie.cpp -o %folder%\\obj\\rysowanie.o
	g++ %folder%\\obj\\rysowanie.o %folder%\\obj\\rysowanie-res.o -o %folder%\\release\\program.exe
pause
Powyższy skrypt skleja wszystko w całość, ale wygląda na to, że brakuje bibliotek.
g++ -static -c %folder%\\rysowanie.cpp -o %folder%\\obj\\rysowanie.o
nie wrzuciło brakujących

Użytkownik CheQ edytował ten post 27.01.2013 10:04

  • +
  • -
  • 0

#4 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 27.01.2013 13:06

O ile zrozumialem, spróbuj tak:
windres -i rysowanie.rc -o rysowanie-rc.o
g++ -Wall -W rysowanie.cpp rysowanie-rc.o -o rysowanie.exe

  • +
  • -
  • 0

marwit-0.png


#5 daedhelil

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:152
Offline

Napisano 27.01.2013 13:19

Tak będzie najłatwiej, nie mam już do tego siły, całą noc przesiedziałem w poszukiwaniu rozwiązania. Może wam się uda. Do uzyskania pliku obiektowego .rc potrzebna jest jakaś ikona.

@echo off
:start
		cls
		set folder="C:\\Users\\Vincent\\Desktop\\rysuj"
		windres -i rysowanie.rc -o rysowanie-rc.o
		cd "C:\\MinGW\\bin\\"
		g++ -static -Wall -W %folder%\\rysowanie.cpp %folder%\\rysowanie-rc.o -o %folder%\\rysowanie.exe
pause

rysowanie.rc
1 VERSIONINFO
FILEVERSION   1,0,0,0
PRODUCTVERSION  1,0,0,0
FILEFLAGSMASK  0x17L
#ifdef _DEBUG
FILEFLAGS  0x1L
#else
FILEFLAGS  0x0L
#endif
FILEOS	0x4L
FILETYPE   0x1L
FILESUBTYPE   0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
  BLOCK "080904b0"
  BEGIN
   VALUE "CompanyName", "DDDDDDDDD"
   VALUE "FileDescription", "Dadada."
   VALUE "FileVersion", "1, 0, 0, 0"
   VALUE "InternalName", "DDD"
   VALUE "LegalCopyright", "DDDDDDDDD"
   VALUE "OriginalFilename", "program.exe"
   VALUE "ProductName", "DDD"
   VALUE "ProductVersion", "1, 0, 0, 0"
  END
END
BLOCK "VarFileInfo"
BEGIN
  VALUE "Translation", 0x809, 1200
END
END
1 ICON "program.ico"

rysowanie.cpp
#include <windows.h>
#include <iostream>
#include <fstream>
#include <conio.h>

using namespace std;

void lleeeeeeee() {
	fstream plik;
	plik.open( "player.ime", ios::in );
	if(plik.good()) {
		string napis;
		while(!plik.eof()) {
			getline(plik, napis);
			cout << napis << endl;
		}
		plik.close();
	}
	else
		cout << "errrrrrrrrr!" << endl;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int nCmdShow) {
	HDC screen = GetDC(NULL);
	lleeeeeeee();
	int i = 1;
	while(true) {
		SetPixelV(screen, i, i*2, RGB(180, 20, 50));
		i++;
	}
	ReleaseDC(NULL, screen);
	return 0;
}

Użytkownik bociek edytował ten post 27.01.2013 13:21

  • +
  • -
  • 0

#6 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 27.01.2013 16:01

Dołączona grafika
windres -i rysowanie.rc -o rysowanie-rc.o
g++ rysowanie.cpp rysowanie-rc.o -lgdi32 -o rysowanie.exe

Jeżeli teraz nie zadziała to znaczy iż masz źle zdefiniowaną zmienną środowiskową PATH.

  • +
  • -
  • 0

marwit-0.png


#7 daedhelil

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:152
Offline

Napisano 27.01.2013 16:06

Gdzieś natknąłem się na odpowiedź związaną z nieprawidłową ścieżką, ale nie przypuszczałem, że to mi pomoże. Jakoś sobie poradzę, dziękuje.
  • +
  • -
  • 0

#8 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 27.01.2013 16:11

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

marwit-0.png






Również z jednym lub większą ilością słów kluczowych: c++

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych