Я пытаюсь вызвать std::cout
в lldb в проекте Xcode 5 C++. В моем проекте есть строка #include <iostream>
(и я убедился, что скомпилированные команды std::cout
работают нормально), но нет строки using namespace std;
.
Когда я останавливаюсь в точке останова в lldb, я не могу вызвать std::cout
:
(lldb) expr std::cout << "test"
error: no member named 'cout' in namespace 'std'
error: 1 errors parsing expression
(lldb) expr cout << "test"
error: use of undeclared identifier 'cout'
error: 1 errors parsing expression
Для тех, кто заинтересован, я пытаюсь использовать std::cout
для печати OpenCV Mat
< /а> объект. Но эта деталь, вероятно, не важна.
Моя версия lldb — lldb-300.2.53
.
По запросу вот (тривиальный) код:
#include <iostream>
int main(int argc, const char * argv[])
{
std::cout << "Hello World" << std::endl;
return 0;
}
Точка останова находится на строке return 0;
.
expr std::cout << "test"
не является тривиальным выражением, и я думаю, что оно не будет работать там, так как включает вызов функции. - person Raxvan   schedule 06.12.2013std::cout
, иcout
. Код проекта, в котором я тестировал команды lldb, явно такой, как я написал в ОП, без строкиusing namespace std;
. - person Daniel Golden   schedule 06.12.2013#include <iostream>
явно присутствует в моем примере кода. Я также подтвердил, что командаstd::cout
работает в скомпилированном коде, но не в отладчике lldb. - person Daniel Golden   schedule 07.12.2013std::cout.operator<<("test")
(в исходной команде была опечатка). Но результат тот же:error: no member named 'cout' in namespace 'std'
. - person Daniel Golden   schedule 07.12.2013