Да, я действительно хочу получить эту ошибку. Я использую MSVC (командная строка). Я хотел бы иметь .lib, который потребует определения внешнего символа, который связан с ним. Я должен понять, что-то неправильно о статическом связывании, потому что мне мой подход кажется законен:Как получить нерешенные внешние ошибки в lib?
У меня есть файл, который выглядит примерно так:
extern INFO_BLOCK user_setup;
int
crtInit()
{
SetInfoBlock(&user_setup);
return 0;
}
, когда я пытаюсь использовать .obj этого файла в компиляция с основным модулем cl main.c file.obj
Это говорит о неразрешенных внешних. Это желаемое поведение. Тем не менее, когда я пакет file.obj с lib file.obj
даже с использованием/включают: user_data (который, честно говоря, я не доверяю как никакой пользы в этом случае)
используя .lib с cl main.c /link file.lib
не создает недостающие внешние и это проблема. Мне нужен программист для определения этого символа. Удаляется ли extern после того, как вы поместите свой .obj в .lib? Где я ошибаюсь?
Попробуйте вызвать 'crtInit'. – immibis