Проблемы ссылки (VC6)

У меня была аналогичная проблема, и это было потому, что я пытался установить apk на телефоне с предыдущей версией того же apk, и оба apks не были подписаны с тем же сертификатом. Я имею в виду, что когда я использовал тот же сертификат, мне удалось перезаписать предыдущую установку, но когда я изменил сертификат между версиями, установка была невозможна. Вы используете один и тот же сертификат?

10
задан CinCout 20 December 2016 в 08:39
поделиться

5 ответов

Одна возможность находится с Win32 ANSI/Unicode "искажение имени", которое поворачивает символ GetMessage в также GetMessageA или GetMessageW. Существует три возможности:

  1. Windows.h не был загружен, таким образом, GetMessage остается GetMessage

  2. Windows.h был загружен набором символов для ANSI, таким образом, GetMessage становится GetMessageA

  3. Windows.h был загружен набором символов для Unicode, таким образом, GetMessage становится GetMessageW

При компиляции двух различных файлов способами, которые инициировали два различных сценария, Вы получите ошибку компоновщика. Сообщение об ошибке указывает что Comms::Exception класс был экземпляром № 2, выше - возможно, он используется где-нибудь, что windows.h не был загружен?

Другие вещи я сделал бы в Вашем месте, так же, как обычное дело:

1) Удостоверьтесь, что мой включает, и пути к библиотеке не содержат ничего, что я не ожидаю.

2) Сделайте "сборка чистит" и затем вручную проверяет его, удаляя любые дополнительные объектные файлы при необходимости.

3) Удостоверьтесь, что нет никаких путей hardcoded в, включают операторы, которые не означают то, что они имели в виду, когда проект был первоначально восстановлен.

Править: Борьба с форматированием :(

6
ответ дан 4 December 2019 в 02:52
поделиться

Это - общая проблема со способом, которым Microsoft обработала ANSI по сравнению с API Unicode. Так как они - все (или в значительной степени все) сделанный путем определения макросов для имен функций, которые решают к или версии 'W' имен функций, у Вас не может безопасно быть идентификатора в Вашем пространстве имен/классе/структуре/перечислении/функции, которое соответствует названию Windows API.

windows.h макросы игнорируют все другие пространства имен.

0
ответ дан 4 December 2019 в 02:52
поделиться

Предположение Вас не имеет futzed вокруг с настройками Project, удаляя что-то, что Вы не должны иметь (который является, где я ожидал бы, что внешние зависимости как User32.lib будут):

Проверьте Инструменты | Опции | Каталоги | Библиотеки (идущий из памяти здесь) и удостоверьтесь, что Вы не пропускаете common-all-garden каталоги lib разнообразия (снова, без VC6 передо мной, я не могу сказать Вам, что они),

0
ответ дан 4 December 2019 в 02:52
поделиться

@Curt: Я думаю, что Вы приехали самое близкое. Я не протестировал это, но я думаю, что сортирую, дал ответ в моем исходном вопросе.

GetMessage является определением в Windows.h, перенесенном в ifndef блок для переключения между Ansi (GetMessageA) и Unicode (GetMessageW).

1
ответ дан 4 December 2019 в 02:52
поделиться

windows.h объявляется наверху IOCompletionPort.h как включение - я устал видеть 7 строк только для включения 1 файла, таким образом, я перенес его его собственный файл, и включает это само. Это также содержит некоторый дополнительный #defines (т.е. ULONG_PTR), поскольку наше главное приложение не скомпилирует с Платформой SDK installed:-(

  1. Это подтверждено. Ничто не неуместно.
  2. Я сделал, это - удалило каталоги сборки
  3. Я никогда не использую трудно кодированные пути.
0
ответ дан 4 December 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: