ошибка gcc: неправильный класс ELF: ELFCLASS64

Что относится к этим ошибкам, так это к тому, что Cloud Functions не может найти функцию для запуска в этом файле (working.js), потому что вы не экспортировали . Например, если вы создаете облачную функцию с именем run, вы должны экспортировать функцию в сценарии, назначив ее для exports.run в вашем модуле:

exports.run = (event, callback) => {
  callback(null, `Hello ${event.data.name || 'World'}!`);
};

В [115 есть больше примеров. ] документации , но, вероятно, для работы с GCP в вашем сценарии потребуются другие изменения для аутентификации и т. д.

31
задан zxcv 19 October 2008 в 04:19
поделиться

4 ответа

Я думаю, что coreset.o был скомпилирован для 64-разрядного, и Вы связываете его с 32-разрядным computation.o.

можно попытаться перекомпилировать computation.c с '-m64' флаг gcc (1)

35
ответ дан 27 November 2019 в 22:21
поделиться

Это оказывается версией компилятора, которую я использовал, не соответствовал скомпилированной версии, сделанной coreset.o.

Каждый был 32 бита другой, были 64 бита. Я оставлю на виду это в случае, если кто-либо еще сталкивается с подобной проблемой.

4
ответ дан 27 November 2019 в 22:21
поделиться

Можно указать '-m32' или '-m64' для выбора режима компиляции.

При контакте с autoconf (настраивают) сценарии, я обычно устанавливал CC = "gcc-m64" (или CC = "gcc-m32") в среде так, чтобы все было скомпилировано с корректной крошечностью. По крайней мере, обычно... люди находят бесконечные способы заставить это не совсем работать, но мой средний уровень очень высок (путь более чем 95%) с ним.

7
ответ дан 27 November 2019 в 22:21
поделиться

Похоже, что объектный файл был скомпилирован на 64-разрядном наборе инструментальных средств, и Вы используете 32-разрядный набор инструментальных средств. Вы попытались перекомпилировать объектный файл в 32-разрядном режиме?

4
ответ дан 27 November 2019 в 22:21
поделиться
Другие вопросы по тегам:

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