2015-06-29 2 views
0

Я создаю библиотеку, для которой требуется некоторый код уровня сборки. Я использую NASM для записи и интеграции моего файла .asm. Теперь проблема в том, что у меня уже есть проект, созданный в VS13. Теперь я хочу добавить и объединить код уровня сборки в свой проект. Я уже добавил файл .asm в моем исходном каталоге, но когда я пытаюсь запустить свой тестовый пример, компилятор не может найти мой код сборки.Настройка NASM в Vistual Studio13

Я хочу знать, как связать файл .asm с моим .c файлом.

Структура моего проекта:

-> Project1 (Генерирует библиотека)

---> Источник

-----> file1.c

--- -> file2.c

-----> nasm.asm

-> Проект2 (Тестовый пример использования литиево brary и генерировать EXE)

-> Источник

----> main.c

Теперь nasm.asm двоичные файлы должны привязываться с .lib, порожденного project1 и должны Project2 может получить доступ к проекту1.lib

Извините, если вопрос неясен, его немного сложнее, чтобы я дал понять это в письменной форме. Пожалуйста, дайте мне знать, если вы хотите получить разъяснения или дополнительную информацию.

Большое спасибо

ответ

1

Для каждого из вас файлы сборки:

  1. щелкаем правой кнопкой мыши в обозревателе решений и выберите Свойства
  2. Убедитесь выбранный конфигурации либо Все конфигурации или configur Ation вы используете (это кусает меня каждый раз!)
  3. В свойствах конфигурации>Общие изменить тип Item к Пользовательские сборки инструмента
  4. Из свойств конфигурации>пользовательских Сборка инструмента>Общие установить следующие пункты:

    • Командная строка. Используйте это в качестве примера: nasm -fwin32 "%(FullPath)" -o %(Filename).obj
    • Выходы.Это необходимо, VS проверяет эти файлы. Обычно я использую %(Filename).obj.
    • Объекты связи. Yes. Если вы назовете свои выходные файлы obj, они автоматически включаются в фазу связи.

Чтобы проверить, что вы установили все правильно, выберите файл сборки, щелкните правой кнопкой мыши и выберите Compile.

+0

спасибо за ваш ответ .. Хотя компиляция прошла успешно, но двоичный код не генерируется .. Я жестко закодировал путь к выходному файлу в моем каталоге Debug, но все равно не могу найти его где-нибудь. – MitulShrivastava

+0

@MitulShrivastava by binary вы имеете в виду объектный файл из nasm или всего двоичного кода из VS? –

+0

Бинарники только для nasm. Я попытался построить его как отдельный проект, и для этого были созданы двоичные файлы проекта. – MitulShrivastava

Смежные вопросы