标签: cpp

方框字符在 Linux 终端中无法正确显示

我刚刚编写了一个 C++] 程序,它使用方框字符来显示信息。\xc2\xa0\nI\xc2\xa0在 macOS 上运行该程序并使用终端应用程序,它运行良好。

\n

当我使用相同的代码切换到Debian Linux并重新编译它时,\n我\xc2\xa0才遇到这个问题!\xc2\xa0\n我\在网上搜索了答案,\n但我\xc2\xa0没有找到与这个问题。\xc2\xa0\n我已经\xc2\xa0 使用LXTerminal和\xc2\xa0 URXVT测试了这个问题。

\n

这是这个问题的最小可重现示例:

\n
#include <ncurses.h>\n#include <iostream>\n\nint ch;\n\nint main() {\n    setlocale(LC_CTYPE, "");\n    initscr();\n    noecho();\n    keypad(stdscr, true);\n    nodelay(stdscr, true);\n    curs_set(0);\n    start_color();\n    use_default_colors();\n\n    init_pair(1, COLOR_BLUE, -1);\n\n    clear();\n    refresh();\n\n    while ((ch = getch()) != \'q\' && ch != \'Q\') {\n\n        attrset(COLOR_PAIR(1));\n\n        mvprintw(0,0,"\xe2\x94\x8f\xe2\x94\x81\xe2\x94\x93");\n        mvprintw(1,0,"\xe2\x94\x97\xe2\x94\x81\xe2\x94\x9b");\n\n    }\n\n    refresh();\n    endwin();\n\n    return 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

使用以下命令编译此演示:

\n
g++ -g -c -o main.o test.cpp && g++ -g -o test main.o -std=c++11 -Wall -pedantic -lncurses\n
Run Code Online (Sandbox Code Playgroud)\n

或者 …

terminal unicode cpp

8
推荐指数
3
解决办法
2294
查看次数

GCC和Clang无法编译C++代码

尝试运行命令gcc code.cpp -o runthis

但是它给了我这种格式的错误:

/usr/bin/ld: /tmp/cco6J3Vh.o: warning: relocation against `_ZSt4cout' in read-only section `.text'
/usr/bin/ld: /tmp/cco6J3Vh.o: in function `main':
code.cpp:(.text+0x28): undefined reference to `std::cout'
/usr/bin/ld: code.cpp:(.text+0x30): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/usr/bin/ld: code.cpp:(.text+0x3e): undefined reference to `std::cin'
/usr/bin/ld: code.cpp:(.text+0x46): undefined reference to `std::istream::operator>>(int&)'
/usr/bin/ld: code.cpp:(.text+0x9e): undefined reference to `std::cout'
/usr/bin/ld: code.cpp:(.text+0xa6): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: code.cpp:(.text+0xbb): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' …
Run Code Online (Sandbox Code Playgroud)

c++ cpp

1
推荐指数
1
解决办法
3007
查看次数

标签 统计

cpp ×2

c++ ×1

terminal ×1

unicode ×1