Я пытаюсь использовать / MP (сборка с несколькими процессами) возможность включить многопроцессорную компиляцию, однако она конфликтует с #import, поэтому я пытаюсь обойти эту проблему Замена для #import в Visual C ++ :
Для тех, кто спотыкается об этом в Google:
#include
сгенерированные файлы .tlh, где вы делали #import Я следовал за шагами, однако, «msado15.tlh» не был сгенерирован.
Вот что я делаю:
AdoImport
AddImport.h
в AdoImport
проект, содержит только одну строку: #import "C:/Program Files/Common Files/System/ado/msado15.dll" rename("EOF", "adoEOF") rename("BOF", "adoBOF")
Я ожидаю msado15.tlh
будет сгенерировано в AdoImport
proejct-х Debug
папка, но она не найдена. Компиляция сообщает об успехе и только генерируется AdoImport.lib
,
Как мне сделать msado15.tlh
генерируется так, чтобы мой основной проект мог включить его?
на всякий случай, если кто-то ударил по Google, как я это решил —
поставить линию #import "C:/Program Files/Common Files/System/ado/msado15.dll" rename("EOF", "adoEOF") rename("BOF", "adoBOF")
в stdafx.h
из AdoImport
проект, чтобы он всегда был скомпилирован.
AdoImport
«промежуточный каталог» проекта (в разделе «Свойство проекта -> Свойства конфигурации -> Общие») должен быть включен в основные пути проекта.
Спасибо за предоставленное решение. Исходя из этого, я пытался создать то же самое в VS2015, но как-то не получалось.
Поэтому я добавил оператор импорта
#import «C: / Program Files / Common Files / System / ado / msado15.dll» rename («EOF», «adoEOF») rename («BOF», «adoBOF»)
в предварительно скомпилированном заголовочном файле моего основного проекта StdAfx.h и скомпилировал StdAfx.cpp, и вскоре после этого ошибка #import, указывающая «..cannot open msado15.tlh», устранена. Это простая работа без необходимости создавать библиотеку. Но ваш ответ привел меня к решению этой проблемы. Благодаря вам.
Спасибо,
Камлешвар.