問題タブ [windows64]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - Windows で MQTT Paho を構築する未定義のシンボル
paho_mqtt.c
Windows X86 (64 ビット) でビルドしようとしています。Visual Studio Community 2013 を使用しています。サポートされている構成です。
64 ビット用にビルドするpaho_mqtt.c
には、Windows 64 ビット用にコンパイルされた OpenSSL が必要です。OpenSSL をビルドするには、新しいバージョンの Active Perl が必要であることがわかりました。次に、次のコマンドを使用して OpenSSL を構築しました。
- perl 構成 -no-asm VC-WIN64A
- nmake
- nmakeテスト
すべてのテストが機能したので、SSL/TLS ライブラリが機能していると確信しています。
MQTT paho をビルドするときに、ssl.h
. 以下にリストされているこのページのトリックを使用して環境変数を設定し、msbuild が環境変数からインクルード パスを取得するようにしました。
コマンド ラインからコンパイルするときに追加のライブラリとインクルード パスを追加する
それは機能し、paho は ssl.h を見つけました。
次の paho.mqtt.c の msbuild は、libeay32 / ssleay32.dll を見つけることができませんでした。最初に、msbuild が openssl ライブラリの正しいディレクトリを検索するように、上記のトリックを再度使用しました。新しいライブラリは機能しますが、ライブラリ名が異なります。Windows、Linux、および Macintosh 用の OpenSSL のコンパイルに関する 2) の情報を使用し、次のことを行いました。
これは私が知っている疑問ですが、うまくいったようです。つまり、失敗していたリンク コマンドが、警告やエラーなしで実行されるようになりました。しかし、未解決のシンボルの問題を後で延期しただけかもしれません。
後で実行可能ファイルをリンクしようとすると、msbuild が失敗します (この投稿の下部に示されています)。msbuild は、MQTTClient_* 関数/シンボル (MQTTClient_connect など) を解決できないと不平を言っています。これらの関数はすべて MQTTClient.c にあり、msbuild はエラーを発生させることなく MQTTClient.obj をビルドしました。
私の質問は、「本当の問題は何ですか?」に関するものです。
- MQTTClient.obj の問題は次のとおりです。
- リンクコマンドに含まれていないのでしょうか?
- それともシンボルがオブジェクトファイルにありませんか?
- ライブラリの名前を変更したことが問題ですか?
msbuild は、MQTTClient.obj が見つからないことを報告していません。問題が openssl ライブラリにある場合、いくつかの openssl シンボルが見つからないと報告されると思います。
Linux では、nm -g を使用して、未定義のシンボルが MQTT_Client.obj にあるかどうかを確認します。Windows でこれを確認するにはどうすればよいですか?
ご協力いただきありがとうございます。
c++ - long long tm までのエポック時間
long long 変数 milliseconds_since_epoch に保存されたエポック以降のミリ秒の値があります。これを、おそらく tm のような、より標準的で処理しやすい時間構造に変換したいと考えています。これを行うライブラリ関数はありますか?
私は 64 ビット PC を使用しており、コンパイルして 64 ビット コードを生成しています。
編集:明確にするために、私の milliseconds_since_epoch は現在の時間の尺度ではありません。実際、私はさまざまな milliseconds_since_epoch のコレクションを持っており、それぞれが異なる歴史的な時間を参照しています。
subprocess - whois とサブプロセスの問題 (Python 3.4; 64 ビット Windows)
domain = whois.query("google.com")
したがって、提案されたクエリ ( )を機能させようとしています。しかし、実行するたびに、次のトレースバックが表示されます。
の 1111 行を指している他の質問/回答をいくつか見ましたが、デバイスでエラーなく広範囲に使用subprocess
したため、問題が発生している可能性があると思います。存在しないファイルはパッケージに関連しているように見えるので、この質問はこれに関連しているとは思いませんが、2つは関連している可能性がありますか?whois
subprocess
whois
基本的に、このエラーの回避策はありますか、またはwhois
パッケージ コードを編集する必要がある場合、どうすればよいでしょうか? どの「ファイル」が欠落しているかを完全に理解しているかどうかは正確にはわかりません...