나는 C++ 용 소켓 라이브러리를 사용 해왔다. 다른 정보 : 32 비트 Linux, Codelite 및 GCC 도구 세트. Codelite의 Windows 버전을 사용하여 Windows 용 프로그램을 컴파일 할 수 있기를 원합니다. 제가 사용하고있는 소켓 라이브러리에는 라이브러리의 mingw32 빌드가 없지만 오픈 소스입니다. 그렇다면 어떻게 mingw32를 소켓 라이브러리로 만들면 소스를 사용하여 Windows 빌드를 만들 수 있습니까?mingw 용 리눅스 라이브러리 컴파일
답변
새로운 플랫폼으로 이식합니다. :)
오픈 소스이기 때문에 운이 좋을 것입니다. 그 이유는 실제로 포팅하는 것이 불가능하기 때문입니다 (특정 라이센스에 대한 코드 복사본을 얻으려면 $$$을 지불해야합니다. 전체 제품을 다시 작성하십시오).
즐기십시오.
또는 포트가 이미있을 수 있습니다 ... 사용중인 라이브러리의 설명서를 확인하십시오.
먼저 Linux 전용 라이브러리를 포함하고 있지 않은지 확인해야합니다.
대부분의 오픈 소스 리눅스 라이브러리는 make 빌드 시스템으로 구현됩니다 (잼 등 다른 것들과 빌드를위한 커스텀 스크립트). MinGW는 make 유틸리티와 함께 제공되며, mingw32-make.exe입니다. 운이 좋다면 Windows에서 라이브러리를 간단하게 다시 빌드하는 것이 가능할 수도 있습니다.
더 일반적인 시나리오는 빌드하기 전에 프로젝트를 구성해야한다는 것입니다. Windows 셸은 구성하는 데 필요한 스크립팅 요구 사항을 지원하지 않지만 MSYS이라고하는 MinGW 프로젝트의 다른 부분이 있습니다. msys와 필요한 모든 필요한 도구를 설치하면 make를 실행하기 전에 프로젝트를 ./configure 할 수 있습니다.
물론 위의 내용은 라이브러리가 휴대용으로 작성된 경우에만 작동합니다. 리눅스 소켓 구현 (sys/socket.h)과 윈도우 구현 (winsock2.h) 사이에는 약간의 차이가있다. 코드 조각을 편집하여 플랫폼에서 올바르게 버전이 지정되도록하거나 (또는 필요한 모든 종속성도 Windows 용으로 작성 됨) 강제로 적용될 수 있습니다.
또한 라이브러리가 Windows 용으로 이미 빌드되었을 수 있지만 .lib 및 .dll 파일을 생성하는 MSVC와 같은 다른 컴파일러를 사용할 가능성이 있습니다. Mingw는 라이브러리 용으로 .a 파일이 필요하지만 영리한 기능은 import 라이브러리가 필요없이 .dll에 직접 링크 할 수 있기 때문에 Mingw에 대해 빌드되지 않은 기존 Windows 라이브러리를 자주 사용할 수 있습니다. 정적 연결에 도움). .lib를 .a로 변환 할 수있는 도구 dlltool도 있습니다.
작업하고있는 특정 라이브러리에 대한 세부 정보를 제공하면 Win에서 실행하기 위해 수행해야 할 작업을 선택할 수 있습니다.
- 1. MS DOS 용 MinGW 컴파일
- 2. MinGW/CodeBlocks 용 Allegro 4.2 컴파일
- 3. 리눅스 크로스 컴파일 및 동적 라이브러리/링크
- 4. Winpcap MinGW 컴파일 오류
- 5. Android 용 라이브러리 컴파일 NDK
- 6. Windows 용 정적 TagLib 1.6.3 라이브러리 컴파일
- 7. 리눅스 용 코드에서 다른 버전의 라이브러리 믹싱
- 8. 리눅스 용 HTTP 구문 분석 라이브러리 C++
- 9. 윈도우 용 리눅스에서 크로스 컴파일 정적 라이브러리
- 10. MinGW - 크로스 컴파일 도구 - 최신 버전?
- 11. ARM 장치 용 라이브러리 크로스 컴파일
- 12. 정적 라이브러리 용 SWIG Python 래퍼 컴파일?
- 13. 컴파일 C++ 프로그램은 리눅스
- 14. 리눅스 컴파일 설정
- 15. 우분투 리눅스 라이브러리 경로
- 16. OpenCL 용 리눅스 함수 인터셉터
- 17. mingw gcc 컴파일 및 gdb 디버깅
- 18. 볼랜드 대 MingW/GCC 컴파일 속도는 ...
- 19. GCC (MinGW)를 사용하여 Windows에서 OpenGL 컴파일
- 20. Linux에서 Windows MinGW .a 라이브러리 사용
- 21. MinGW QT 프로젝트에서 vC++ 라이브러리 사용
- 22. 리눅스 솔라리스 대 - 컴파일 소프트웨어
- 23. Windows 용 NTL C++ 라이브러리 컴파일 및 사용
- 24. Devil 용 정적 라이브러리?
- 25. 리눅스 용 CreateTimerQueue
- 26. Ruby 용 리눅스 배포판
- 27. 리눅스 용 SVN 탐색기
- 28. 리눅스 용 GUI C
- 29. 리눅스 용 COleDateTime 대안
- 30. 리눅스/윈도우 배포 가능 OpenGL 윈도우 및 OS 라이브러리 찾기
라이브러리 문서를 확인했으며 mingw32에 대해 아무 것도 가지고 있지 않습니다. 그렇다면 어떻게 도서관을 "포팅"할 수 있습니까? 어떤 단계를 밟아야합니까? – TheFuzz
@TheFuzz는 소스 코드를 살펴 봅니다. 플랫폼과 관련된 사항을 변경하십시오. 라이브러리 관리자에게 패치를 제출하십시오. –