Member 14373667 Ответов: 1

Ошибка RC2135: файл не найден: tellercapturex64.tlb для проекта ActiveX control DLL


У меня есть 2 Проекты Dll управления ActiveX

1. TellerCaptureX -> существующий с самого начала в проекте

Этот проект включен с самого начала в основной проект, и первоначально проект был настроен только на 32-разрядную версию. Теперь для улучшения нам нужно настроить проект и для 64-битной версии.
Он настроен правильно. Но когда сборка для 64-битной конфигурации запускается получение ниже ошибки :

ошибка RC2135: файл не найден: TellerCaptureX.tlb

2. TellerCaptureX64 --> заново создан для 64-битного, потому что для первого проекта получения tlb не найдена ошибка для 64-битного.

Поскольку мы не можем выяснить точную первопричину проблемы 64-битной сборки для 1-го проекта, мы создали новый проект для 64-битной сборки. После завершения кода в соответствии с требованиями, первый раз сборка была запущена для 64-разрядной версии, а затем была предпринята попытка для 32-разрядной версии.
Сборка успешно завершена для 64-битной версии, но теперь появляется та же ошибка, что и ниже для 32-битной версии

ошибка RC2135: файл не найден: TellerCaptureX64.tlb


Может ли кто-нибудь помочь мне понять, почему это странное поведение? Это потому, что любой элемент управления ActiveX может иметь одну версию либо 32-разрядную, либо 64-разрядную?

Что я уже пробовал:

Попытался найти недостающую конфигурацию

Richard MacCutchan

Похоже, что вы получили неправильную ссылку в вашем файле .rc для каждого типа сборки.

Member 14373667

Не могли бы вы помочь мне настроить файл .rc?

Richard MacCutchan

Я не использовал MFC уже довольно много лет, но я думаю, что есть файл, который автоматически включается из подпапки проекта, с именем типа <project name>.rc2 или аналогичным. Если вы добавите туда детали, используя что-то вроде:

#if defined(x64)
// filename for x64 build
#else
// filename for x86 build
#endif

NB, вам нужно будет проверить, использует ли rc-файл определение x64 или какое-то другое, чтобы указать 64-разрядность.

1 Ответов

Рейтинг:
0

KarstenK

Трудно объяснить: файл отсутствует. Вам нужно его создать. Как объяснено в сайте StackOverflow или с некоторыми другими инструментами, такими как компилятор IDL.

32-разрядные или 64-разрядные платформы сборки, поэтому существуют различные сценарии сборки. Возможно, вам нужно скопировать некоторые 32-разрядные настройки сборки в 64-разрядные настройки сборки.


Member 14373667

Я нашел RC для проблемы, но не смог найти ее исправления. Это связано с Microsoft Visual C++ сгенерированным ресурсным скриптом.
Не могли бы вы помочь мне настроить 64-битную и 32-битную сборку в одном файле ресурсов или есть какой-нибудь способ использовать два файла ресурсов?