Mingw 컴파일은 Linux에서 실행할 수 있습니다. 컴파일 방법은 다음과 같습니다. 1. "sudo apt-get install mingw-w64" 명령을 통해 mingw32를 설치합니다. 2. Linux /hello에서 "sudo apt-get install wine-development wine ~"을 실행합니다. .exe > hello world".
이 튜토리얼의 운영 환경: ubuntu18.04 시스템, mingw32, Dell G3 컴퓨터.
mingw로 컴파일한 버전을 리눅스에서 실행할 수 있나요?
그렇습니다.
Linux 플랫폼용 Windows 프로그램 크로스 컴파일
컴파일 및 테스트 환경: ubuntu18.04
1단계: mingw32 설치
sudo apt-get install mingw-w64 sudo apt-get install mingw-w64-tools sudo apt-get install mingw-w64-i686-dev sudo apt-get install mingw-w64-x86-64-dev
위의 내용이 중복될 수 있으므로 모두 직접 설치하세요.
설치 후 코드를 컴파일할 수 있습니다
i686-w64-mingw32-gcc -o hello.exe hello.c
파트 2: 컴파일된 프로그램 테스트
컴파일된 exe 파일을 Windows에 복사하여 테스트할 수 있지만, 수고를 덜기 위해 Linux에서 직접 실행하고 싶습니다. 이를 위해서는 완전한 와인이 필요합니다.
sudo apt-get install wine-development wine ~/hello.exe >hello world
3부: 64비트 프로그램 컴파일하기
x64비트 프로그램을 컴파일해야 하는데 테스트 결과 해당 프로그램이 32비트 프로그램인 것으로 나타났습니다.
x86_64-w64-mingw32-gcc -o hello64.exe hello.c
4부: Windows에서 pthread 라이브러리 사용
pthread는 정말 사용하기 쉽고 Windows에는 기본적으로 pthread 라이브러리가 없습니다.
i686-w64-mingw32-gcc -o pthread_create.exe pthread_create.c -lpthread -D__WIN32
예기치 않게 직접 컴파일된 것을 발견했는데, 이는 mingw32에 pthread 라이브러리가 포함되어 있음을 나타냅니다.
Windows로 실행해서 실행했더니 "libwinpthread-1.dll...찾을 수 없음"이라고 뜹니다
/usr/i686-w64-mingw32/lib 폴더에 libwinpthread-1을 직접 복사했습니다. .dll을 복사합니다 Windows에 파일을 저장합니다. 작동하는 것으로 나타났습니다.
간단하면서도 충분히 거칠죠? 그런데 정말 멋지네요
실제로 Windows에서도 pthread 라이브러리를 다운로드했는데, 아쉽게도 gcc가 암시적으로 로드되지 않은 것 같아 라이브러리를 여전히 찾을 수 없다고 보고되었습니다.
MinGW 컴파일러에서 libgcc_s_dw2-1.dll이 누락되는 문제에 대해
링크 시 기본적으로 동적 링크를 사용하고, 상대방 컴퓨터에는 종속 DLL 모듈이 없는 것으로 나타났습니다.
그래서 링크 뒤에 명령을 추가했습니다:
-static-libstdc++ -static-libgcc
관련 권장 사항: "Linux Video Tutorial"
위 내용은 mingw 컴파일 버전을 Linux에서 실행할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!