Я хочу знать, как точно вызвать функцию из ProjectA :: ClassA :: FuncA (), которая является Win32 .lib с / clr из ProjectB :: ClassB :: FuncB (), которая не имеет поддержки clr и это чистый проект Win32.
Оба эти проекта находятся под одним и тем же решением.
Во-первых, вот что я попробовал:
1. Создал ProjectA с помощью .lib
2. Добавлен путь .lib к свойствам ProjectB (в компоновщике: Input: Add.Dependencies)
3. Я добавил .h для .lib, созданного ProjectA в ProjectB
4. Создал объект для ProjectA :: ClassA в ProjectB :: ClassB и попытался вызвать FuncA ().
Я получаю следующую ошибку:
Ошибка 1 ошибка LNK2019: неразрешенный внешний символ "public: static void __cdecl ClassA :: FuncA (void)" (? FuncA @ ClassA @@ SAXXZ), на который ссылается функция "public: static void __cdecl ClassB :: FuncB (void) "(? FuncB @ ClassB @@ SAXXZ) Helper.obj
Я успешно использую сторонние .lib в ProjectB. Я следую тому же процессу, но он терпит неудачу; единственное отличие заключается в том, что ProjectA () поддерживает CLR.
Я что-то упустил? Пожалуйста, просветите меня; -)
Спасибо!