2016-09-08 2 views
-1

Хорошо, это должно быть достаточно просто. Я программирую dll, исходный код которого слишком велик для публикации здесь. Но это только три ошибки из одного повторяющегося кода ...Ошибка C3861: 'execute_assert': идентификатор не найден

// Test parameter s 
execute_assert(s >= MAX_ACL_DEPTH, "MAX_ACL_DEPTH too small"); 

Теперь я знаю EXECUTE_ASSERT макрос, так что я думаю, что нужно только включить заголовок.

Мне просто нужно знать заголовок.

Я использую Visual Studio 2012 Ultimate.

Спасибо.

+2

Вы пробовали искать его на, например, [MSDN] (https://msdn.microsoft.com/s)? И вы знаете, что C и C++ чувствительны к регистру? –

+1

Вы заметили, что единственным документированным является 'EXECUTE_ASSERT', и он определен в DirectShow (* не * часть Windows SDK), тогда как вам нужно' execute_assert'? Это не связанные вещи. Ваше приложение, вероятно, определяло 'execute_assert' где-то внутри. Сделайте глобальный поиск внутри своего проекта. – rustyx

+0

Я думаю, что одна из проблем заключается в том, что код был сгенерирован в Xubuntu, и я хотел создать .lib-файл, и поэтому я импортировал все в Windows, включая заголовки. – loumbut5

ответ

0

Спасибо за понимание. я включил ...

C: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Samples \ мультимедиа \ DirectShow \ BASECLASSES

В свойствах проекта после добавления

#include <Streams.h> 
#include <wxdebug.h> 

и изменил

execute_assert 

в

EXECUTE_ASSERT 

Результат ...

1> Generating Code... 
1>c:\users\...\Analytical.lib 
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ========== 
Смежные вопросы