gpt4 book ai didi

c++ - 无法通过 std::cout 从静态库输出

转载 作者:行者123 更新时间:2023-11-30 04:35:42 25 4
gpt4 key购买 nike

我正在链接一个静态库,它有一个 std::cout 包装器,如果我从应用程序代码中使用它,它就可以工作,但不是库的内部输出(以完全相同的方式使用) ) 显示任何输出。

也许这并不重要,但我正在使用 Qt Creator 和 qmake 项目文件来构建。我已将 console 添加到应用程序的 CONFIG 中(甚至对静态库进行了尝试,但没有任何效果)。

可能出了什么问题,我该如何解决?谢谢!

更新:好吧,包装器是 this one 的改编版本:

最佳答案

std::cout 包装器将无法隐式地“进入”另一个库。您是否考虑过完全重定向 cout?像 src :

int main() { 
std::streambuf* cout_sbuf = std::cout.rdbuf(); // save original sbuf
std::ofstream fout("cout.txt");
std::cout.rdbuf(fout.rdbuf()); // redirect 'cout' to a 'fout'
// ...
std::cout.rdbuf(cout_sbuf); // restore the original stream buffer
}

这样你就可以控制提供给 std::cout 的数据,而不管输出的库是什么(当然,除非它们重定向 std::cout他们自己。)

关于c++ - 无法通过 std::cout 从静态库输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5032881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com