문제점없이 컴파일 및 링크 된 C++ 프로젝트가 있습니다. 최근에 우리는 전역 new 및 delete 연산자를 재정의하는 코드를 추가 했으므로 오류 LNK2005 : "void * __cdecl operator new (unsigned int)"(?? 2 @ YAPAXI @ Z)가 이미 정의되어 있습니다. 나는이 문제를 검색하고 제안 된 모든 것을 시도하고이 포럼을 검색하는 데 많은 시간을 보냈다. 나는 또한 MS KB148652에 대해 알고 있으며 그것이 제안한 바를 수행했다. Nafxcwd.lib와 Libcmtd.lib를 Additional Dependencies와 Ignore Specific Libary리스트에 넣었다. 실제로 이전에 다른 링커 오류를 없애기 위해 추가했기 때문에 실제로 이미있었습니다. 나는 모든 .cpp 파일의 첫 번째 include가 stdafx.h (KB148652가 암시 하듯이)이지만 아무것도 작동하지 않는 것으로 확인했다. 누군가 내가 시도하지 않은 또 다른 접근법이나 어떤 방향을 제안 할 수 있다면 그것에 대해 알고있을 것입니다. 미리 감사드립니다.LNK2005 글로벌 신규 및 삭제 연산자를 무시하려고 할 때 오류가 발생했습니다.
2
A
답변
0
여기에서 게시물을 확인하십시오 : http://groups.google.com/group/google-perftools/browse_thread/thread/41cd3710af85e57b. 이런 식으로 구글 크롬 브라우저 dev 사람들이 crt malloc을 대체하고 매우 유용하다고 알았습니다.
1
전체 프로젝트를 지우고 처음부터 다시 만들었습니까?
+0
나를 위해 문제가 해결되었습니다. 감사! –
0
(C++) 오버로드 된 연산자는 클래스 계층 구조를 통해 상속되지 않으므로 base_class :: operator new,
i를 사용하여 기본 클래스의 정의를 참조하지 않고 각 파생 클래스에서 new 및 delete의 별도 복사본을 완전히 재정의하려고합니다. 내가 당신을 도울 수 있기를 바랍니다.
관련 문제
- 1. OSX에서 libstdC++. dylib (4.0) 글로벌 신규 및 삭제 연산자 대체
- 2. PHP 확장 DLL을 컴파일 할 때 LNK2005 오류가 발생하는 이유
- 3. C# 조건부 연산자를 사용하여 컴파일러 오류가 발생했습니다.
- 4. 삭제 기능에서 iPhone 오류가 발생했습니다.
- 5. C#으로 로그인 할 때 오류가 발생했습니다.
- 6. url에 액세스 할 때 보안 오류가 발생했습니다.
- 7. MSVC 2005의 연산자를 확장 할 때 성능 문제가 발생했습니다.
- 8. Windows DDK로 컴파일 할 때 오류가 발생했습니다.
- 9. django 앱을 배포 할 때 오류가 발생했습니다.
- 10. 테이블을 자르려고 할 때 MySQL 오류가 발생했습니다.
- 11. boost.asio를 컴파일 할 때 링커 오류가 발생했습니다.
- 12. 컴파일 할 때 ARC 오류가 발생했습니다.
- 13. 대화 상자를 표시 할 때 오류가 발생했습니다
- 14. 서버에 푸시 할 때 Git 오류가 발생했습니다.
- 15. xcodebuild를 사용하여 빌드 할 때 오류가 발생했습니다.
- 16. 액세스 할 때 "리소스 부족"오류가 발생했습니다.
- 17. BACKUP CERTIFICATE를 발행 할 때 오류가 발생했습니다.
- 18. 하위 문자열을 제거 할 때 오류가 발생했습니다.
- 19. 테이블에 값을 삽입 할 때 오류가 발생했습니다.
- 20. boost.asio를 컴파일 할 때 링커 오류가 발생했습니다.
- 21. UITabBarController에서보기를 전환 할 때 오류가 발생했습니다.
- 22. 재배치하려고 할 때 Subclipse 오류가 발생했습니다.
- 23. JSON 데이터를 파싱 할 때 오류가 발생했습니다.
- 24. EF로 PK를 업데이트 할 때 오류가 발생했습니다.
- 25. webservice를 호출 할 때 오류가 발생했습니다.
- 26. C 프로그램을 컴파일 할 때 오류가 발생했습니다.
- 27. .vimrc에서 vim 플러그인을로드 할 때 오류가 발생했습니다.
- 28. 개체를 해제 할 때 오류가 발생했습니다.
- 29. MacPorts로 openCV를 구성 할 때 오류가 발생했습니다.
- 30. Google Appengine에 배포 할 때 오류가 발생했습니다.
'new'대체품이 인라인으로 정의되어 있습니까? 그게 당신 문제 일 수 있어요. – Permaquid
명령 줄에서 연산자를 재정의하십시오. 그러면 다른 곳을 덮어 쓰려고하는 위치가 표시됩니다. –
동일한 호출 규칙 (귀하의 경우에는 __cdecl)을 사용하여 모든 것을 빌드하십시오 - make clean이 정말로 깨끗한 지 확인하십시오 - 기본 패키지에 테스트 코드를 빌드하여 전역 새 코드를 테스트하고 대체 코드를 삭제하십시오 - 호출 규칙을 읽으십시오 – reechard