0
A
답변
2
아래와 같이 링커 옵션 -static
만 사용하면됩니다.
[email protected]:/tmp$ cat helloworld.c
#include <stdio.h>
int main(void) {
printf("Hello, world\n");
}
[email protected]:/tmp$ gcc -o helloworld.dyn helloworld.c
[email protected]:/tmp$ gcc -static -o helloworld.static helloworld.c
[email protected]:/tmp$ ls -l helloworld.*
-rw-r--r-- 1 edd edd 69 2009-08-18 07:09 helloworld.c
-rwxr-xr-x 1 edd edd 6667 2009-08-18 07:10 helloworld.dyn
-rwxr-xr-x 1 edd edd 576348 2009-08-18 07:10 helloworld.static
[email protected]:/tmp$ ./helloworld.dyn
Hello, world
[email protected]:/tmp$ ./helloworld.static
Hello, world
[email protected]:/tmp$ ldd helloworld.static
not a dynamic executable
[email protected]:/tmp$ ldd helloworld.dyn
linux-gate.so.1 => (0xb7efc000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7d83000)
/lib/ld-linux.so.2 (0xb7efd000)
[email protected]:/tmp$
관련 문제
- 1. C# ClassLibrary의 라이브러리를 정적으로 링크하는 방법은 무엇입니까?
- 2. 정적으로 VC CRT에 연결하지 않는 이유는 무엇입니까?
- 3. gcc를 라이브러리에 정적으로 정적으로 연결 함을
- 4. libstdC++에 정적으로 링크하는 방법
- 5. 복잡한 프로그램을 정적으로 링크하는 방법
- 6. glibc를 qt와 정적으로 링크하는 방법
- 7. FFT를 계산하기 위해 관리되는 C++ DLL에 MKL v9.x를 정적으로 링크하는 방법은 무엇입니까?
- 8. Cygwin GCC를 빌드/업데이트하는 방법은 무엇입니까?
- 9. Xcode를 사용하여 iPhone 개발 용 프레임 워크를 링크하는 방법은 무엇입니까?
- 10. GCC를 사용하여 객체를 연결하는 두 가지 방법은 무엇입니까?
- 11. gcc를 사용하여 진입 점이 main이 아닌 어셈블리를 컴파일하는 방법은 무엇입니까?
- 12. Qt Assistant에서 PDF 파일에 링크하는 방법은 무엇입니까?
- 13. Safari에 링크하는 버튼을 만드는 방법은 무엇입니까?
- 14. PHP 라이브러리 도움말을 NetBeans에 링크하는 방법은 무엇입니까?
- 15. Visual Studio에서 .obj 파일을 링크하는 방법은 무엇입니까?
- 16. C++ 애플리케이션에서 LuaSQL을 링크하는 방법은 무엇입니까?
- 17. html로 Embed 객체에 링크하는 방법은 무엇입니까?
- 18. 대체 glibc를 사용하도록 gcc를 구성하는 방법은 무엇입니까?
- 19. libNAME.so 명명 규칙을 따르지 않는 라이브러리에 대해 -l도 하드 코딩 경로없이 GCC를 사용하여 링크하는 방법?
- 20. 스크롤 창을 정적으로 만드는 방법은 무엇입니까?
- 21. 최종 사용자가 디버그 CRT에 연결해야하는 경우 SDK를 배포하는 가장 좋은 방법은 무엇입니까?
- 22. PHP에서 애니메이션 GIF를 정적으로 변환하는 방법은 무엇입니까?
- 23. 아파치 2에 PHP5를 정적으로 컴파일하는 방법은 무엇입니까?
- 24. Hoard 메모리 할당자를 정적으로 링크하기
- 25. jQuery 트리 뷰를 사용할 때 WebMethod에 링크하는 방법은 무엇입니까?
- 26. 에어 애플리케이션을 지정된 시스템에 보안/링크하는 가장 좋은 방법은 무엇입니까
- 27. Perl 모듈을 수동으로 컴파일/설치하기 위해 라이브러리를 링크하는 방법은 무엇입니까?
- 28. Solaris 32 비트 - gcc를 사용하여 공유 객체 생성
- 29. 서로 다른 버전의 GCC를 사용하여 빌드 된 객체 파일 연결하기
- 30. cl.exe를 사용하여 부스트와 링크하는 데 사용해야하는 컴파일 옵션은 무엇입니까?
Windows의 MinGW에서는 작동하지 않습니다. AFAIK, MinGW를 사용하여 MSVCRT.DLL에 대한 의존성을 피할 수있는 방법은 없습니다. 그러나 틀린 것으로 입증 되기는 어려울 것입니다. –
아, 그래, 그 다른 OS. 최소한 나는 3 개 중 2 개를 다루었 다. –
'-static'없이 연결하려고했는데, Win7에서 MinGW를 사용하고, 2 개의 다른 파일을 생성합니다 (정적 파일은 1.5Mo 이상입니다). 나는 전혀 전문가가 아니지만 잘 작동한다고 생각합니다 ... –