0 / 0 / 0
Регистрация: 06.06.2014
Сообщений: 14
|
|
1 | |
Fatal error LNK1104. Удаленный, межпроцессорный com объект11.05.2015, 19:18. Показов 1295. Ответов 6
Метки нет (Все метки)
Пытаюсь собрать makefile из урока Дейла Роджерсона. Вылезает ошибка LINK : fatal error LNK1104 cannot open file 'libcimtd.lib'. На форумах пишут , что нужно везде поменять ,к примеру, iostream.h на iostream. Не помогает.
Запускаю makefile с помощью Developer Command Prompt for VS2013 (стандартные \ visual studio2013\ Tools). Пробовал через другие командные строки VS, которые находятся в той же папке - всё равно не работает Прикрепил код И еще) Может кто-нибудь скинуть готовый (очень легкий) com объект ( без использования библиотеки ATL), реализованный как межпроцессорный или удаленный сервер. Заранее спасибо
0
|
11.05.2015, 19:18 | |
Ответы с готовыми решениями:
6
fatal error LNK1104 Не работает SFML, выдаёт fatal error LNK1104 Ошибка при компановке программы "fatal error LNK1104" Fatal error LNK1104: не удается открыть файл "ucrt.lib" |
Ушел с форума
|
|
12.05.2015, 07:27 | 2 |
Очень легкий вряд ли получится. Потому что даже простейший COM-сервер в exe - это:
- IDL-файл с описанием COM-интерфейсов; - реализация IClassFactory; - реализация COM-класса; - реализация серверного процесса; - код регистрации компонента в системе; - код настройки разрешений на запуск и подключение к серверу. Ну то есть, даже helloworld будет достаточно пухленький. Пример есть у меня, постараюсь выложить на днях.
0
|
0 / 0 / 0
Регистрация: 06.06.2014
Сообщений: 14
|
|
12.05.2015, 08:31 [ТС] | 3 |
Убежденный, было бы здорово)
0
|
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,424
|
|
12.05.2015, 14:29 | 4 |
вот тут был исходный на чистом C++ https://www.cyberforum.ru/com-... ost3538077
1
|
0 / 0 / 0
Регистрация: 06.06.2014
Сообщений: 14
|
|
12.05.2015, 16:45 [ТС] | 5 |
vxg, О крутяк. Я все правильно понимаю?В этой программе com объект реализован как: внутрипроцесный, межпроцессорный и удаленный. Для того чтобы воспользоваться внутрипроцесным мы создаем консольное приложение с пунктом DLL и с помощью regsvr32 регистрируем объект. Если межпроцесный или удаленый для этого используется обычная консолька exe. А где тут заместитель и заглушка?
Когда из клиента пытаемся использовать удаленный сервер, то надо указать имя компа. Тоже непонятно. И как справиться с этой ошибкой #include <SysUtils.hpp> Или можно просто выслать программу, а то я эти отдельные файлы в жизни не смогу собрать в одну программу) Вернее я правильно все не понимаю)
0
|
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,424
|
|
12.05.2015, 17:14 | 6 |
там три проекта. сделаны в borland c++ builder. один - объект в DLL (inproc server), один - объект в EXE (local server) и еще один - клиент в EXE для тестирования. регистрировать нужно и DLL и EXE. без регистрации система не сможет "поднять" объект если он не запущен - в итоге клиент никогда не получит доступ к объекту в DLL, а к объекту в EXE сможет получить доступ только если он уже запущен. имя компа для удаленного объекта необходимо и с этим ничего не поделать - а как вы хотели запустить объект на другой машине не зная ее адреса? для удаленного объекта там еще нужно разрешения COM настраивать иначе другая машина не пустит вас. #include <SysUtils.hpp> можете убрать - оно лишь для функций DirectoryExists и ForceDirectories. программы в сборе в папке exe.
1
|
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
|
|
18.05.2015, 12:30 | 7 |
"LOCAL COM Server and Client: A Step by Step Example" - пример exe-сервера. (Тип проекта - Win32.)
1
|
18.05.2015, 12:30 | |
18.05.2015, 12:30 | |
Помогаю со студенческими работами здесь
7
Fatal error LNK1104: не удаётся открыть файл "glaux.lib" LINK : fatal error LNK1104: не удается открыть файл "LIBC.lib" Ошибка компоновки fatal error LNK1104: не удается открыть файл "kernel32.lib" LINK : fatal error LNK1104: не удается открыть файл "libboost_thread-vc110-mt-1_50.lib" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации
В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
|
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
|
Копирование (маппинг) объектов в JavaScript
bytestream 21.01.2025
В современной разработке программного обеспечения копирование объектов представляет собой фундаментальную операцию, которая требует особого внимания и понимания. Маппинг объектов в JavaScript – это. . .
|
Как работать с Apache Kafka в C# .NET
bytestream 21.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки больших объемов информации в реальном времени. Эта система,. . .
|
Как использовать RabbitMQ в C# .NET
bytestream 21.01.2025
RabbitMQ представляет собой мощный брокер сообщений, который эффективно решает эту задачу, обеспечивая надежную передачу данных между множеством приложений. Этот инструмент реализует протокол AMQP. . .
|
Как объединить последние коммиты в Git
bytestream 21.01.2025
В мире разработки программного обеспечения система контроля версий Git стала незаменимым инструментом для управления исходным кодом. Одной из наиболее полезных, но порой сложных для освоения функций. . .
|
Как запушить новую локальную ветку (branch) в удалённый репозиторий Git и отслеживать её
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемым инструментом для эффективного управления кодом и организации командной работы. Одной из ключевых. . .
|
Как создать директорию и все родительские директории, указанные в пути, с помощью Python
bytestream 21.01.2025
Python предоставляет мощные инструменты для работы с файловой системой через встроенные модули os и pathlib, которые значительно упрощают процесс манипуляции директориями. Эти модули содержат. . .
|
Как работать с массивами в JavaScript
bytestream 21.01.2025
Массивы в JavaScript представляют собой один из фундаментальных типов данных, который позволяет хранить упорядоченные коллекции различных элементов в одной переменной. Эта структура данных является. . .
|
Какая максимальная длина адреса (URL) в различных браузерах и стандартах
bytestream 21.01.2025
В современном мире интернет-технологий URL-адреса (Uniform Resource Locator) играют фундаментальную роль в функционировании веб-пространства. Эти уникальные идентификаторы ресурсов стали неотъемлемой. . .
|
Как сбросить локальный репозиторий до состояния удалённого репозитория Git
bytestream 21.01.2025
При разработке программного обеспечения с использованием системы контроля версий Git разработчики часто сталкиваются с необходимостью синхронизации локального и удаленного репозиториев. Данная задача. . .
|
Как запретить подсветку выделенного текста с помощью CSS
bytestream 20.01.2025
Подсветка текста при выделении является стандартным поведением браузера, которое не всегда соответствует дизайнерским решениям или функциональным требованиям веб-приложения.
Выделение текста может. . .
|