오픈 소스 라이브러리를 내 프로젝트 중 하나에 연결하려고합니다. 라이브러리는 관리되지 않으며 (Tetgen) 프로젝트는 관리되는 C++입니다.LNK 2028 - 2019/관리 형 및 관리되지 않는 C++? (VS 2008)
내 프로젝트는 헤더를 인식하고 정의 된 기능을 사용할 수 있습니다. "무효 __thiscall의 tetgenio :: save_nodes (숯불 CONST *) 공개"
오류 LNK2028 : 해결되지 않은 토큰 (0A000E20)하지만 나는 그것이 통화 당에 정의 된 몇 가지 방법에 액세스하려고 할 때마다 2028 오류 (? save_nodes @ tetgenio @@ $$ FQAEXPBD @ Z) 함수에서 참조 "공개 : 가상 부울 __thiscall ForwardModelingPlugin :: CustomMeshVol3D :: 모자이크로 꾸밀 수 (무효)"(모자이크로 꾸밀 @ CustomMeshVol3D @ ForwardModelingPlugin @@ $$ FUAE_NXZ?)
테스트 기능을 만들려고했습니다 :
int tetgenio::Test(int i) {
return i;
}
... 헤더에 정의 된 다른 Testbis 함수. Testbis가 작동하면 Test에서 2028 오류가 발생합니다.
나는 내 프로젝트 및 생성 된 lib 디렉토리의 .OBJ을 비교하고, lib 디렉토리에 대한이있다 :
[email protected]@@[email protected]
그러나 .OBJ에는 다음과 같습니다
[email protected]@@[email protected] in the .obj
그것은 나타납니다 그들은 동일하지 않습니다.
모든 것이/clr로 컴파일됩니다. 나는 .lib와 .dll 모두를 만들려고했는데, 같은 결과를 보여 주었다.
Tetgen 자체가/clr로 컴파일 되었습니까? 그렇지 않은 경우 필요합니다. –
예. 모든 것이/clr에 컴파일됩니다. – ccote