배경 정보
이 Instructions에 따라 GAUL 라이브러리를 빌드하려고합니다.정적 라이브러리에 연결된 DEV-CPP에 콘솔 응용 프로그램을 빌드하는 동안 _imp __ **에 대한 정의되지 않은 참조를 해결하는 방법은 무엇입니까?
문제점
그럼 난 C에서 두 개의 정적 라이브러리, 개발-CPP 윈도우 날에 건설이 7 64 비트, 다른를 참조 하나.
그리고 이들을 테스트하기 위해이를 참조한 콘솔 응용 프로그램을 만들었습니다.
> Compiler: Default compiler > Building Makefile: "C:\Soft\GAUL\Makefile.win" > Executing make... > make.exe -f > "C:\Soft\GAUL\Makefile.win" all > **gcc.exe ../gaul-devel-windows/examples/struggle.o -o "struggle.exe" -L"C:/Dev-Cpp/lib" gaul-util.a gaul-devel.a** > > gaul-util.a(memory_util.o)(.text+0x2e):memory_util.c: undefined reference to '_imp__mem_chunk_new_real' > gaul-util.a(memory_util.o)(.text+0x6c):memory_util.c: undefined reference to '_imp__mem_chunk_free_real' > ... > gaul-devel.a(ga_core.o)(.text+0x101):ga_core.c: undefined reference to 'slink_free_all' > gaul-devel.a(ga_core.o)(.text+0x360):ga_core.c: undefined reference to 'mem_chunk_new_real' > ... > collect2: ld returned 1 > exit status > > make.exe: *** [struggle.exe] Error 1 > > Execution terminated
나는 그것이 매개 변수가 gcc
명령에 사용되는 함께 할 수있는 뭔가가 생각 :이 컴파일을 시도 잘
내가 점점 로그입니다.
내가 해봤
실제 상태 :
- C의 라이브러리를 복사 : \ 데브 - CPP \ lib에
- 라이브러리 이름 앞에 전체 주소를 사용
- libaries 전에 -l 사용 이름
- 이름 뒤에 .a
을 사용하지 않음
그 중 하나와 관련된 결과가 좋지 않습니다.
는 사람이 올바른 방향으로 날 지점 수 있을까요?
미리 감사드립니다.
Dev-C++의 최신 버전은 2005 년에 출시되었습니다. 매우 오래된 컴파일러이므로 최신 버전으로 업그레이드하십시오. –
내가 따라하고있는 튜토리얼에서 언급 한 것이기 때문에 나는 그것을 사용하고 있었다. 컴파일러 권장 사항이 있습니까? – Laggel
예, GNU GCC. * only * 창을 대상으로 할 계획이라면 Visual Studio를 Visual C++ 컴파일러와 함께 사용하는 것을 고려하십시오. – ThiefMaster