hello world"."/> hello world".">

 >  기사  >  운영 및 유지보수  >  mingw 컴파일 버전을 Linux에서 실행할 수 있나요?

mingw 컴파일 버전을 Linux에서 실행할 수 있나요?

藏色散人
藏色散人원래의
2023-03-24 11:00:012049검색

Mingw 컴파일은 Linux에서 실행할 수 있습니다. 컴파일 방법은 다음과 같습니다. 1. "sudo apt-get install mingw-w64" 명령을 통해 mingw32를 설치합니다. 2. Linux /hello에서 "sudo apt-get install wine-development wine ~"을 실행합니다. .exe > hello world".

mingw 컴파일 버전을 Linux에서 실행할 수 있나요?

이 튜토리얼의 운영 환경: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.