Я работаю над проектом, который создает DLL на C для Windows CE 5.0 с использованием STANDARDSDK_500.Проект относительно прост с одним исходным C-файлом.Я заметил, что когда я очищаю и собираю проект с помощью Visual Studio 2005, он не может создать мою Импортную библиотеку.Когда я приказываю Visual Studio перестроить его, он правильно создает импорт lib.
Включая подробное связывание, я обнаруживаю, что в случае сбоя (очистка и сборка) CVTRES.exe отбрасывает мои функции, например так:
Invoking CVTRES.exe:
/machine:thumb
/verbose
/out:"C:\...\Temp\lnkC7E.tmp"
/readonly
/windowsce
".\standardsdk_500 (armv4i)\release\WLTBApi.res"
Microsoft (R) Windows Resource To Object Converter Version 8.00.50727.42
...
adding resource. type:VERSION, name:1, language:0x0409, flags:0x30, size:892
Discarded '.idata$4' from coredll.lib(COREDLL.dll)
...
Discarded WLRegisterStartupApp from WLTBApi.obj // my functions! Oh noes!
...
При этом отбрасываются все мои функции, из-за чего компоновщик не создает импортную библиотеку, поскольку нет экспортируемых функций.
Я полагал, что ввод был упомянутым файлом .resв командной строке - WLTBApi.res.Этот файл идентичен в промежуточном каталоге после попытки скомпилировать как рабочий способ (перестроить), так и нерабочий (чистый. Сборка).
Итак, мой первый вопрос: каковы другие входные данные дляпрограмма CVTRES.exe, чтобы я мог найти несоответствия между двумя сборками?
Второе: какие еще методы устранения неполадок вы бы порекомендовали?
Дополнительная информация - я подумал, что возможнофайлы .obj были дополнительными входными данными - они отличаются между сборками.Теперь я считаю, что они являются выходами CVTRES.exe.Если кто-нибудь знает, прав ли я в этом, дайте мне знать.