Ошибка загрузки библиотеки типов / DLL - PullRequest
1 голос
/ 17 февраля 2010

Когда я использую следующий код, я получаю ошибку компиляции

#import <dwmapi.lib>
#include <dwmapi.h>

Я получаю следующую ошибку:

фатальная ошибка C1083: невозможно открыть тип файл библиотеки: 'c: \ program Файлы \ Microsoft SDKs \ Windows \ v7.0a \ Lib \ dwmapi.lib ': Ошибка загрузки библиотеки типов / DLL.

Intellisense говорит:

2 IntelliSense: невозможно открыть исходный код файл "c: / users / #### / documents / visual студия 2010 / Проекты / modlauch / modlauch / Debug / dwmapi.tlh ": Плохой файл дескриптор c: \ users \ #### \ documents \ visual студия 2010 \ projects \ modlauch \ modlauch \ modlauchdlg.cpp 7 1 modlauch

Кто-нибудь знает, как решить эту проблему? Я уверен, что моя библиотека 'dwmapi' в порядке и в этом нет ничего плохого. Я использую MFC с VS2010, но я не думаю, что это связано с проблемой. (Платформа - Win32 )

Если я избавляюсь от «#import», то получаю ошибку «неразрешенный внешний символ __imp__DwmExtendFrameIntoClientArea @ 8».

Ответы [ 3 ]

10 голосов
/ 04 декабря 2012

Это не ответ на вашу проблему, но для тех, кто приходит сюда с этим сообщением об ошибке - если вы случайно наберете #import "Header.h" вместо #include "Header.h" при включении из .lib, вы получите эту ошибку.

7 голосов
/ 17 февраля 2010

dwmapi .lib это библиотека типов? Вы уверены, что это не просто старая dll. Комбинация: .DLL или .tlb.

Я думаю, что это старая длл. Таким образом, вы не # импортируете, что вам нужно вместо

 #pragma comment(lib,"dwmapi.lib")
0 голосов
/ 17 февраля 2010

Библиотека типов не является обычной библиотекой объектов.

Библиотеки типов обычно находятся в DLL, файлах OCX и TLB.

Несколько раз я # импортировал библиотеку типов, это всегда одна из них, а не файл .LIB.

Используйте команду REGTLB или REGTLIB (вам, возможно, придется поискать это в Google), чтобы зарегистрировать библиотеку типов в вашей системе. Он похож на REGSVR32, но регистрирует библиотеку типов, а не компонент COM.

Вы также можете использовать OLEVIEW для просмотра содержимого библиотеки типов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...