다른

아키텍처 x86_64에 대한 Mac 오류 기호를 찾을 수 없습니다.

거기

오리지널 포스터
2016년 7월 22일
  • 2016년 7월 22일
안녕하세요 여러분,

저는 Mac에서 Windows 응용 프로그램을 컴파일하는 프로젝트를 진행 중입니다. 응용 프로그램은 Qt를 사용하여 C++로 작성되었습니다. 라이브러리와 메인 프로젝트로 구성되어 있습니다.
http://hpics.li/d8bb2ec
프로젝트는 외부 라이브러리인 ODA를 사용하여 .dwg 및 .dgn 파일을 관리합니다.
문제는 첫 번째 라이브러리(MdCore)를 컴파일할 때 오류가 발생한다는 것입니다. x86_64 아키텍처에 대한 기호를 찾을 수 없습니다.
처음에는 -stdlib=libstdc++를 qmake 인수에 추가했지만 Qt에서 0바이트 파일을 생성했기 때문에 솔루션이 아니었습니다.
OSX 10.7 및 10.11의 경우 32비트, 64비트 등 다른 버전의 ODA 라이브러리를 시도했습니다. (내 Mac은 OSX 10.11에 있습니다)
내 라이브러리에서 'file' 명령을 만들었고 여기에 출력이 있습니다.

:
.a: 현재 ar 아카이브 임의 라이브러리

.dylib:
2개의 아키텍처가 있는 Mach-0 범용 바이너리
(아키텍처 x68_64용): Mach-0 64비트 동적으로 연결된 공유 라이브러리 x86_64
(i386 아키텍처용): Mach-0 동적으로 연결된 공유 라이브러리 i386

32비트와 64비트에서 컴파일을 시도했지만 아무 것도 변경되지 않았습니다. 2주 동안 이 문제를 해결하고 있습니다. 무엇을 할 수 있는지 모르겠습니다.

Qt 포럼에서 주제를 만들었습니다. 더 많은 정보를 찾을 수 있습니다.
https://forum.qt.io/topic/69171/compile-generate-0-byte-files-on-os-x/11
https://forum.qt.io/topic/69171/compile-generate-0-byte-files-on-os-x/11
누군가가 단서나 해결책을 가지고 있다면 관심을 가질 것입니다.

감사 해요 !

cqexbesd

2009년 6월 4일


독일
  • 2016년 7월 22일
나는 qmake에 대해 아무것도 모르지만 아마도 당신은 당신의 컴파일러 명령이 컴파일하는 것을 게시해야 할 것이고 아마도 누군가가 무엇이 잘못되었는지 볼 수 있을 것입니다.

거기

오리지널 포스터
2016년 7월 22일
  • 2016년 7월 22일
안녕하세요 cqexbesd, 답변 감사합니다. 빌드 출력의 시작은 다음과 같습니다.

17:34:10: 시작: '/Users/developpement/Qt/5.7/clang_64/bin/qmake' /Users/developpement/Desktop/Mediacad2/MdCore/MdCore.pro -r -spec macx-clang CONFIG+=디버그 CONFIG+= x86_64 CONFIG+=qml_debug

17:34:10: '/Users/developpement/Qt/5.7/clang_64/bin/qmake' 프로세스가 정상적으로 완료되었습니다.

17:34:10: 시작: '/usr/bin/make'

...

cqexbesd

2009년 6월 4일
독일
  • 2016년 7월 24일
내 말은 qmake가 컴파일러를 호출하기 위한 도구일 뿐입니다. qmake가 컴파일러를 호출하는 행을 찾을 수 있습니까?아마도 올바르게 호출하지 않거나 작동할 것입니다. 적어도 시작해야 할 곳입니다.

거기

오리지널 포스터
2016년 7월 22일
  • 2016년 7월 25일
여기 있다고 생각합니다.
코드: |_+_|
내 컴파일 출력에는 해당 줄이 여러 번 있지만 마지막 줄만 변경됩니다(파일 이름이 변경됨).

편집 : 여기에 같은 줄이 있지만 그 사이에 공백이 있습니다.
코드: |_+_| 중재자가 마지막으로 편집한 날짜: 2016년 7월 25일

cqexbesd

2009년 6월 4일
독일
  • 2016년 7월 25일
연결선도 있어야 합니다. -c 인수 없이 clang++이 호출되는 행. 실제로 전체 출력에 대한 링크를 붙여넣을 수 있다면 유용할 수 있습니다.

거기

오리지널 포스터
2016년 7월 22일
  • 2016년 7월 26일
컴파일러의 인수를 변경할 수 있다고 생각하지 않습니다. 프롬프트로 할 수 있습니다.
다음은 전체 출력입니다(매우 깁니다! 100.000줄). http://textup.fr/171939hC


편집: 프롬프트로 컴파일하여 출력에 더 많은 줄이 있고 마지막 줄이 흥미롭습니다.


아키텍처 x86_64에 대한 정의되지 않은 기호:

코드: |_+_| 중재자가 마지막으로 편집한 날짜: 2016년 7월 26일

cqexbesd

2009년 6월 4일
독일
  • 2016년 7월 26일
가장 복잡한 시스템을 제외한 모든 빌드에 대한 100K 출력은 아마도 어딘가에 문제가 있다는 신호일 것입니다. 하지만 이는 업계 현황에 대한 보다 일반적인 설명입니다.

특정 문제로 돌아가십시오. '전체 출력'에 게시한 연결 오류가 표시되지 않지만 이는 일반 링커 오류로 보입니다. 다른 플랫폼에서와 마찬가지로 nm(또는 Google)를 사용하여 해당 기호가 정의된 위치를 찾을 수 있으며 /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation에 있는 것으로 보입니다. 오래된 Mac이므로 사실이 아닐 수 있습니다).

해당 라이브러리에 대해 직접 링크하지 않습니다. 코드를 추가해 보세요: |_+_| 링커 플래그에.

거기

오리지널 포스터
2016년 7월 22일
  • 2016년 7월 27일
그래, 너가 맞아 !! 지금 컴파일할 수 있어 감사합니다! 3주 동안 이 문제에 직면했습니다! 정말 감사합니다 ! 와 함께

지비

2019년 2월 5일
  • 2019년 2월 5일
cqexbesd는 다음과 같이 말했습니다: 가장 복잡한 시스템을 제외한 모든 빌드에 대한 100K 출력은 아마도 문제가 어딘가에서 잘못되었다는 신호일 것입니다. 그러나 이는 업계 상태에 대한 보다 일반적인 설명입니다.

특정 문제로 돌아가십시오. '전체 출력'에 게시한 연결 오류가 표시되지 않지만 이는 일반 링커 오류로 보입니다. 다른 플랫폼에서와 마찬가지로 nm(또는 Google)를 사용하여 해당 기호가 정의된 위치를 찾을 수 있으며 /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation에 있는 것으로 보입니다. 오래된 Mac이므로 사실이 아닐 수 있습니다).

해당 라이브러리에 대해 직접 링크하지 않습니다. 코드를 추가해 보세요: |_+_| 링커 플래그에.
와 함께

지비

2019년 2월 5일
  • 2019년 2월 5일
안녕 얘들 아 ... 나는 매우 비슷한 문제에 부딪 쳤지만 ... 터미널을 사용하여 컴파일하고 있습니다 ... 누군가 터미널의 경우 동일한 솔루션을 수행하는 방법에 대해 도움을 줄 수 있습니까?

./configure 파일이 준비되어 있고 원활하게 실행되지만 ffi... 관련 '기호를 찾을 수 없음 ...'과 내가 make를 실행할 때 링커와 관련이 있는 것

오키이암

2016년 12월 17일
  • 2019년 2월 8일
zibbi는 다음과 같이 말했습니다: 안녕하세요 여러분... 저는 매우 유사한 문제에 부딪쳤습니다...하지만 저는 컴파일하기 위해 터미널을 사용하고 있습니다... 누군가 터미널의 경우에 동일한 솔루션을 수행할 수 있는 방법에 대해 도와줄 수 있습니까?

./configure 파일이 준비되어 있고 원활하게 실행되지만 ffi... 관련 '기호를 찾을 수 없음 ...'과 내가 make를 실행할 때 링커와 관련이 있는 것
환경 CPPFLAGS='-I/home/foo/sw/include' LDFLAGS='-L/home/foo/sw/lib/' ./configure