Bash syntax error when `cd`ing into directory

#define COMPRESSION_VERSION 1.0.0

— это директива препроцессора C, которая, как ожидается, не переживет расширение макросов, не говоря уже о компиляции.

Если вы хотите, чтобы символ отображался в вашей библиотеке, вам нужно добавить его явно; например

static const char * COMPRESSION_VERSION = "1.0.0";

Это появится в вашей библиотеке:

$ nm -A libcompression.a
libcompression.a:compression.o:0000000000000000 d COMPRESSION_VERSION

и вы можете увидеть его значение, используя objdump -s.

Распространенным методом является встраивание версии в символ; например. для OpenSSL:

$ nm -D /usr/lib/x86_64-linux-gnu/libssl.so.1.1|grep OPENSSL_1
0000000000000000 A OPENSSL_1_1_0
0000000000000000 A OPENSSL_1_1_0d
0
13.01.2019, 23:58
2 ответа

Вам нужно указать имя каталога

"Program Files (x86)"

или

'Program Files (x86)'

в кавычки или избежать пробелов И круглых скобок использование обратной косой черты

Program\ Files\ \(x86\)

Шаги с 1 по 6 также можно выполнить за один раз, так как вы можете напрямую перейти в подкаталоги с помощью cd :

cd .wine/drive_c/Program\ Files\ \(x86\)/NETGEAR/A6200/Drivers
#or
cd .wine/drive_c/"Program Files (x86)"/NETGEAR/A6200/Drivers
6
28.01.2020, 02:13

Вы можете ввести:

cd 

Затем введите первый символ имени каталога и нажмите клавишу TAB. Интерпретатор оболочки (например, оболочка bash) завершит путь в текущем каталоге. Нажмите TAB, чтобы показать все варианты, которые начинаются с символа.

cd "Program Files (x86)"

Вы также можете изменить dir (cd) на другие пути:

cd ~/

Затем нажмите клавишу TAB, чтобы увидеть все ваши домашние каталоги.

3
28.01.2020, 02:13

Теги

Похожие вопросы