QUICKFIX 64-разрядная сборка для .NET в Visual Studio (.NET C ++ DLL Wrapper) - PullRequest
3 голосов
/ 21 сентября 2011

Я провел бессонную ночь, пытаясь собрать QUICKFIX , чтобы получить 64-разрядную версию quickfix_net.dll и quickfix_net_messages.dll

Мой C # Framework является 64-разрядным и предлагается регулярноQUICKFIX dll 32-битные, поэтому у меня нет другого выбора (переключение моего приложения на 32-битный вариант НЕ вариант)

Я ожидал, что решение VS_10 будет создано мгновенно (Бедный маленький наивный кролик ...) но у меня есть куча необнаруженных ошибок библиотек (не удается открыть исходный файл "xxxxxx.h") для многих операторов #include "xxxxxx.h".У меня есть такое поведение для двух источников проекта, которые я попробовал.Я озадачен, так как я больше похож на .net, и мне не удалось это исправить самостоятельно.

Исходный исходный код проекта можно загрузить здесь и 64-битный форк, которыйменя больше всего интересует здесь
Если бы кто-то из вас мог открыть quickfix_vs10.sln и получить чистую компиляцию, я был бы БОЛЬШЕ чем благодарен, так как тогда я мог бы поспать хотя бы пару часов в подвале компаниипрежде чем вернуться к работе.

РЕДАКТИРОВАТЬ:

Подробные ошибки:

  • У меня есть много нераспознанных #include "quickfix / foo">Я должен удалить все префиксы "quickfix /" из решения entires
  • 'FIX': это не имя класса или пространства имен (особенно в FieldMap.h)
  • отсутствующий спецификатор типа - intпредполагается.Примечание: C ++ не поддерживает default-int -'QuickFix :: FieldNotFound __gc & ': невозможно генерировать или перехватывать управляемый объект по значению или ссылке

У меня есть сотни каждого и многие другие ...: (

РЕДАКТИРОВАТЬ: ЭФФЕКТИВНЫЙ ОТВЕТ

Если вам нужен РЕАЛЬНЫЙ .Net FIX Engine, то вам лучше выбрать VERSAFIX или QUICKFIX / N Оба являются родными .Net и Open Source, и, следовательно, могут быть скомпилированы в виде x64-библиотек (или x86, если вам нравится)

  • QUICKFIX / N только что вышел и очень перспективен.Жаль, что это вышло через несколько месяцев после публикации: (
  • Начиная с VERSAFIX, моя компания использовала его в течение 6 месяцев, и мы до сих пор очень довольны. (Russ Curry, инициатор проектатехнически надежный и отзывчивый.)

Ответы [ 3 ]

2 голосов
/ 02 декабря 2011

Вы должны проверить QuickFIX / n , библиотеку FIX, созданную специально для .NET (без неуправляемой оболочки C ++). QuickFIX / n соблюдает все правила QuickFIX.

1 голос
/ 31 января 2012

Мне понадобилась 64-битная версия quickfix, а также несколько дней назад, и вот как я это сделал, и у меня не было ошибок или проблем при конвертации в 64-битную версию. Unrar новый экземпляр архива откройте его с помощью VS. Затем перейдите к свойствам всего решения и выберите Свойства конфигурации. Затем нажмите кнопку «Диспетчер конфигурации» и в раскрывающемся списке «Active Solution Patforms» выберите «Новый». Теперь выберите x64 в первом раскрывающемся списке, а во втором «Копировать настройки из:» выберите «Смешанные платформы». После этого просто перестройте решение, и все готово.

Надеюсь, это поможет вам всем, ребята. Хорошего дня.

0 голосов
/ 21 сентября 2011

Ошибки заголовка (.h) связаны с невозможностью найти папку для включения. Если вы добавите эту папку в список мест, которые проект ищет для заголовочных файлов, он должен сработать нормально. У меня тоже была эта проблема, но, поскольку разработчик c ++ знал, что это было мгновенно, я признаю, что это заняло бы у меня некоторое время, если бы я не был так хорош с c ++, и это странно

...