在Visual Studio 2015上使用Android NDK的std :: cout

时间:2016-04-13 17:47:13

标签: c++ visual-studio android-ndk

我在VisualStudio 2015 for Android NDK中运行的c ++代码中使用了std :: cout。 但是在visual studio调试器中没有打印出来。有没有办法在调试android ndk应用程序时重定向到visualstudio的std :: cout一切?我看到了一些建议,用于重定向std :: cout for Windows,但在使用Visual Studio时没有为Android提供任何建议。

1 个答案:

答案 0 :(得分:0)

来自Android documentaion

  

默认情况下,Android系统将stdout和stderr(System.out和System.err)输出发送到/ dev / null。在运行Dalvik VM的进程中。

     

您可以让系统将输出的副本写入日志文件。在这种情况下,系统使用日志标记stdout和stderr将消息写入日志,两者都具有优先级I.

     

要以这种方式路由输出,请停止正在运行的仿真器/设备实例,然后使用shell命令setprop启用输出的重定向。这是你如何做到的:

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(400, 300)
        self.label = QtWidgets.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(165, 125, 61, 16))
        self.label.setObjectName("label")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.label.setText(_translate("Form", plsupdatethis)

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())