- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么我不能克隆一个 git 项目,添加一个 main.rs
并导入其中一个结构?编译器提示导入是未知的,如果我让它知道它会提示库文件无法编译。
我的文件
C:\Users\datan\proj\gitlab.kitware.com\rust-gitlab>dir
Volume in drive C is OS
Volume Serial Number is 9410-E4E7
Directory of C:\Users\datan\proj\gitlab.kitware.com\rust-gitlab
2019-02-06 02:12 <DIR> .
2019-02-06 02:12 <DIR> ..
2019-02-06 02:04 20 .gitignore
2019-02-06 03:18 <DIR> .idea
2019-02-06 02:05 63 519 Cargo.lock
2019-02-06 02:04 660 Cargo.toml
2019-02-06 02:12 <DIR> cmake-build-debug
2019-02-06 02:04 <DIR> data
2019-02-06 02:04 11 048 LICENSE-APACHE
2019-02-06 02:04 1 082 LICENSE-MIT
2019-02-06 02:04 2 720 README.md
2019-02-06 02:04 335 rustfmt.toml
2019-02-06 03:16 <DIR> src
2019-02-06 02:11 <DIR> target
7 File(s) 79 384 bytes
7 Dir(s) 55 351 238 656 bytes free
我的“代码”:
use types::*;
fn main() {
println!("Hello, rust-gitlab!");
let repo_commit_detail: RepoCommitDetail = read_test_file("repo_commit_detail");
}
结构
C:\Users\datan\proj\gitlab.kitware.com\rust-gitlab>tree .
Folder PATH listing for volume OS
Volume serial number is 00000242 9410:E4E7
C:\USERS\DATAN\PROJ\GITLAB.KITWARE.COM\RUST-GITLAB
├───.idea
│ └───codeStyles
├───cmake-build-debug
│ └───CMakeFiles
├───data
├───src
│ └───test
└───target
└───debug
├───.fingerprint
│ ├───adler32-008121952d6e723e
│ ├───arrayvec-646ad0ece92a7d00
│ ├───arrayvec-800298e92d8a6b00
│ ├───arrayvec-8dcfe3021b2d6a8c
│ ├───autocfg-d540d3308658af53
│ ├───backtrace-4a5d8bbe58343768
│ ├───backtrace-76389fa126a505ca
│ ├───backtrace-a25120398233fbf2
│ ├───base64-8605715cecafa1de
│ ├───byteorder-6005d7caf2ed9454
│ ├───byteorder-675368122e548ca7
│ ├───byteorder-cacda78970cb326d
│ ├───bytes-245614f42b19aebe
│ ├───cfg-if-199b060bf8390609
│ ├───chrono-5959f27994de03e0
│ ├───crc32fast-0e880f27a0ce35a3
│ ├───crc32fast-601ce62d000e21bd
│ ├───crc32fast-9c59fdb01a618f87
│ ├───crossbeam-424114c559f55459
│ ├───crossbeam-channel-11d639148a522581
│ ├───crossbeam-deque-52c98f99d1a02bdd
│ ├───crossbeam-epoch-af8d62f026998a89
│ ├───crossbeam-utils-0d1e4d7da8a9ef57
│ ├───dtoa-24ecc23d181a18d5
│ ├───either-2ee3e437ff6c971e
│ ├───encoding_rs-d0dc5ad1a07eed3c
│ ├───encoding_rs-da47aa074a980d52
│ ├───encoding_rs-fd6e16943622578f
│ ├───error-chain-bf90b77261c62193
│ ├───fnv-aa2431fc6bc1ad66
│ ├───futures-c6e67b10dc6edbd6
│ ├───futures-cpupool-8e39e86f34ba679d
│ ├───gitlab-08ffdd36690d90f8
│ ├───gitlab-11fbba92a7cac036
│ ├───gitlab-6a33ea7f6205065e
│ ├───gitlab-ff4e8c6912a1992b
│ ├───h2-0ee18ce773a0a89d
│ ├───http-d2636b675bcf6465
│ ├───httparse-3bfb6bbc4103b725
│ ├───httparse-945236f44bbaae4b
│ ├───httparse-a633d1291de4b063
│ ├───hyper-d5c769dc0bac17de
│ ├───hyper-tls-bb5d862976202e56
│ ├───idna-eb455bf3c0c933b1
│ ├───indexmap-fd3d2119afdeaa48
│ ├───iovec-baee453073a2d5a5
│ ├───itertools-ecd8c4d65670cbd4
│ ├───itoa-2d8a8a209336a4b1
│ ├───kernel32-sys-323344e9ba717bff
│ ├───kernel32-sys-83eb403a9b94134f
│ ├───kernel32-sys-8f6a7cb898839565
│ ├───lazycell-c863022fb753ec04
│ ├───lazy_static-ba3bb80e02027d7a
│ ├───libc-058cf61bc83378d2
│ ├───libc-0d6d3d189a8fcbc8
│ ├───libc-7939fbb070556365
│ ├───libflate-dda03a69fd4704db
│ ├───lock_api-effbd268c74fb367
│ ├───log-2694fa5b5ff478b9
│ ├───matches-34ff768fe7fdff16
│ ├───memoffset-5218595f33c3708e
│ ├───mime-c20b452517077c0f
│ ├───mime_guess-78f6fdcc75bfb801
│ ├───mime_guess-b0cdb33e00444552
│ ├───mime_guess-bbd685b703852b01
│ ├───mio-97ff8160514f5116
│ ├───miow-77aa8c8f9462ad96
│ ├───native-tls-3753990a7317fe2a
│ ├───native-tls-6abda051a7bbee28
│ ├───native-tls-f608c79f4e18dacd
│ ├───net2-508ac492f9b7b00d
│ ├───nodrop-9f556cbcc9819baa
│ ├───num-integer-3b8af9e09499eb17
│ ├───num-integer-6591db06d92151f8
│ ├───num-integer-f5b2b5fbdf9ab12f
│ ├───num-traits-122ab06899abc72a
│ ├───num-traits-5e3121b94e205820
│ ├───num-traits-892c39b3d2eb30ab
│ ├───num_cpus-e0b2ff8b8d59c6e1
│ ├───owning_ref-bf183c7d773e0123
│ ├───parking_lot-12a126bd707a9322
│ ├───parking_lot_core-5118c128aa288759
│ ├───parking_lot_core-d807a50d17f4c651
│ ├───parking_lot_core-ff708f491c5bff4c
│ ├───percent-encoding-2476bdc6c1b57ab9
│ ├───phf-94566d3a79ef4ee4
│ ├───phf_codegen-e81124e1842629f7
│ ├───phf_generator-77be707e85bdbaab
│ ├───phf_shared-83f1cdc4827f16e2
│ ├───proc-macro2-3730dc9da7871eda
│ ├───proc-macro2-490294cd99fdab5c
│ ├───proc-macro2-a7ad7b68ac88e1e9
│ ├───quote-0815e85bf26aa999
│ ├───rand-36058bce56ceb9f0
│ ├───rand-7bb4cfe73bf0dd1e
│ ├───rand-e1919e05ce4b78ef
│ ├───rand_chacha-5b135890bc288e05
│ ├───rand_chacha-88fea0759acfb849
│ ├───rand_chacha-ff6617e45043fb8d
│ ├───rand_core-22f8b569c1c44c74
│ ├───rand_core-44b0efb2e9232e43
│ ├───rand_hc-6db16b100e560df6
│ ├───rand_isaac-cd4ed7aeaa173fa8
│ ├───rand_jitter-594b9541efdf7198
│ ├───rand_os-408f5a001096e49e
│ ├───rand_pcg-04b94dbba308ed6e
│ ├───rand_pcg-7251ce262f199c3c
│ ├───rand_pcg-ee7758f0896a3792
│ ├───rand_xorshift-b4798ffeed80dc8e
│ ├───reqwest-8cc9d5a46fc1cada
│ ├───rustc-demangle-54becd0a270f9042
│ ├───rustc_version-a903e7df435c73ab
│ ├───ryu-5f4d3c0db59c3c54
│ ├───ryu-6ba019180c4a274b
│ ├───ryu-9235d9421bf627c7
│ ├───schannel-8bdf6ec01769ef1c
│ ├───scopeguard-56bbc3bacf26b561
│ ├───semver-c5c93388824cc96e
│ ├───semver-parser-654d61a88b761106
│ ├───serde-d8d5485694af815f
│ ├───serde-dad6256f5839031b
│ ├───serde-fe431a9eda84f305
│ ├───serde_derive-27a8dc8a7e741ec3
│ ├───serde_json-54e6f40131bbe4f3
│ ├───serde_urlencoded-164f04fa4cf91ece
│ ├───siphasher-2144e89659a7ccab
│ ├───slab-29ad5a838c81f6af
│ ├───smallvec-8c0ee41d14e5bd2a
│ ├───stable_deref_trait-6b5901538f6cb51d
│ ├───string-726f5a2abd463420
│ ├───syn-3788b283d77da292
│ ├───time-2cbb174b24b625e6
│ ├───tokio-current-thread-3f718ab37342974a
│ ├───tokio-executor-e90e6a555413eaff
│ ├───tokio-f4f06f03abb9066d
│ ├───tokio-io-83563994d5ed4ae3
│ ├───tokio-reactor-cee5f1c0b2993ee0
│ ├───tokio-tcp-e384fdc1139f59d4
│ ├───tokio-threadpool-f5fc7c392f4d3bcd
│ ├───tokio-timer-baf35f3876a94a68
│ ├───try-lock-5b05e80f1baf5381
│ ├───unicase-24a369037c028ed4
│ ├───unicase-355ca4fd327fabfd
│ ├───unicase-5ce264aa1273838b
│ ├───unicase-8ac0f082768d424a
│ ├───unicase-cf024d918a538866
│ ├───unicase-e9044cba12acdee6
│ ├───unicode-bidi-bb475f0c3944d6b7
│ ├───unicode-normalization-64e9089438d2ebfd
│ ├───unicode-xid-a7467f62a39abf94
│ ├───unreachable-67223564bef6342d
│ ├───url-58e1116538252022
│ ├───uuid-8d3ab2c31242ff75
│ ├───version_check-8ad7f975e23d024d
│ ├───void-0896fe1d47015a04
│ ├───want-6f48436d34182abd
│ ├───winapi-4a53e903331f64f4
│ ├───winapi-4b6d1267534d970d
│ ├───winapi-6f75c5e1021b74d7
│ ├───winapi-752db0e8208ff517
│ ├───winapi-build-2ed6cec7c9de885d
│ ├───ws2_32-sys-5c26f11f3d3ba52f
│ ├───ws2_32-sys-a6c2fe9a71ea1454
│ └───ws2_32-sys-e4a5aabbb21dd0b8
├───build
│ ├───arrayvec-646ad0ece92a7d00
│ │ └───out
│ ├───arrayvec-8dcfe3021b2d6a8c
│ ├───backtrace-4a5d8bbe58343768
│ │ └───out
│ ├───backtrace-76389fa126a505ca
│ ├───byteorder-6005d7caf2ed9454
│ ├───byteorder-cacda78970cb326d
│ │ └───out
│ ├───crc32fast-601ce62d000e21bd
│ │ └───out
│ ├───crc32fast-9c59fdb01a618f87
│ ├───encoding_rs-d0dc5ad1a07eed3c
│ ├───encoding_rs-da47aa074a980d52
│ │ └───out
│ ├───httparse-3bfb6bbc4103b725
│ ├───httparse-a633d1291de4b063
│ │ └───out
│ ├───kernel32-sys-323344e9ba717bff
│ │ └───out
│ ├───kernel32-sys-83eb403a9b94134f
│ ├───libc-058cf61bc83378d2
│ ├───libc-7939fbb070556365
│ │ └───out
│ ├───mime_guess-78f6fdcc75bfb801
│ ├───mime_guess-b0cdb33e00444552
│ │ └───out
│ ├───native-tls-6abda051a7bbee28
│ ├───native-tls-f608c79f4e18dacd
│ │ └───out
│ ├───num-integer-3b8af9e09499eb17
│ │ └───out
│ ├───num-integer-f5b2b5fbdf9ab12f
│ ├───num-traits-122ab06899abc72a
│ ├───num-traits-892c39b3d2eb30ab
│ │ └───out
│ ├───parking_lot_core-5118c128aa288759
│ ├───parking_lot_core-ff708f491c5bff4c
│ │ └───out
│ ├───proc-macro2-3730dc9da7871eda
│ │ └───out
│ ├───proc-macro2-a7ad7b68ac88e1e9
│ ├───rand-7bb4cfe73bf0dd1e
│ ├───rand-e1919e05ce4b78ef
│ │ └───out
│ ├───rand_chacha-5b135890bc288e05
│ │ └───out
│ ├───rand_chacha-88fea0759acfb849
│ ├───rand_pcg-04b94dbba308ed6e
│ │ └───out
│ ├───rand_pcg-ee7758f0896a3792
│ ├───ryu-5f4d3c0db59c3c54
│ │ └───out
│ ├───ryu-6ba019180c4a274b
│ ├───serde-d8d5485694af815f
│ ├───serde-fe431a9eda84f305
│ │ └───out
│ ├───unicase-355ca4fd327fabfd
│ │ └───out
│ ├───unicase-5ce264aa1273838b
│ ├───unicase-8ac0f082768d424a
│ │ └───out
│ ├───unicase-e9044cba12acdee6
│ ├───winapi-6f75c5e1021b74d7
│ │ └───out
│ ├───winapi-752db0e8208ff517
│ ├───ws2_32-sys-a6c2fe9a71ea1454
│ │ └───out
│ └───ws2_32-sys-e4a5aabbb21dd0b8
├───deps
├───examples
├───incremental
│ ├───gitlab-18ycyqu9smunr
│ │ └───s-f97zmznulc-1et4slk-glq89ki51e1z
│ ├───gitlab-2ig8akjm0w1yx
│ │ ├───s-f980cgaxw0-1jrgkvo-1ievukzcrjc88
│ │ └───s-f981eiai94-z9lt25-working
│ └───gitlab-3fwelxjyajmph
│ └───s-f97zp4swxe-tfxev5-1duuud7rw47m5
└───native
如果我按照所有可用的建议编译我的 main.rs
,那么我破坏了我没有接触过的库:
error[E0433]: failed to resolve: maybe a missing extern crate crates;? --> src\types.rs:17:5 | 17 | use crates::chrono::{DateTime, NaiveDate, Utc}; | ^^^^^^ maybe a missing extern crate crates;?
最佳答案
首先,返回并重新阅读The Rust Programming Language's chapter on "Packages, Crates, and Modules" .这讨论了几个对于理解至关重要的基本概念。
Why can I not clone a git project, add a main.rs and import one of the structs?
对我来说,这就像“为什么我不能伸手进入另一个人,捕获他们的肺,然后用他们呼吸”一样的问题?你根本无法下载一些任意的 Rust 库并开始从中提取随机文件并期望它们能够工作。
特别是在您的情况下,所有库都有一个 lib.rs
,它是 crate root。 crate root 往往有许多其他代码需要的通用定义,并导入所有子模块。当您创建 main.rs
并将库中的模块声明为您自己的模块时,您的 main.rs
成为 crate root,但它没有定义图书馆需要的所有东西。这会导致代码无法编译。
相反,只需按照预期使用 crate 作为库。
最简单的事情是创建一个新的 Cargo 项目并将箱子作为依赖项添加到您的 Cargo.toml 中。 gitlab
crate is already distributed on crates.io ,所以你只需添加版本号:
[dependencies]
gitlab = "0.1104.1"
在 main.rs
中添加 use gitlab::types::*
并编写代码。
如果您需要使用本地 checkout 的源代码(也许您正在修改 crate?),或者如果您真的想编辑上游库以同时拥有 lib.rs
和 main.rs
,参见:
关于compiler-errors - 为什么我不能将 main.rs 添加到 crate 的源代码并导入结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54545775/
我在运行 compile test:compile it:compile经常并且...希望将击键次数减少到类似 *:compile 的数量。 .不过,它似乎不起作用。 $ sbt *:compile
有人可以给我这个问题的提示(或整个解决方案!): 在 Clojurescript 项目中,如何自动将编译日期/时间硬编码在符号中,以便在使用应用程序时显示? 谢谢。 最佳答案 有多种解决方案: 使用l
我是 ember.js 框架的新手,使用 ruby on rails 和 ember.debug.js -v 1.10.1(最新版本)。我一直在网上看到 ember 更改了这个最新的补丁,但我不知
我不是 Fortran 程序员(只是短暂的经验),但我需要编译一个部分用 F77 编写的程序。在我之前有人用 Absoft 编译器编译过它,但现在我需要在另一台机器上用 g77 重复这个过程。对于 A
我运行命令 mvn clean package 我得到了上面的错误我的 pom 是: http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0
我有以下问题。 我想在测试编译阶段排除一些.java文件(** / jsfunit / *。java),另一方面,我想在编译阶段包括它们(id我使用tomcat启动tomcat:运行目标) ) 我的p
符合 wikipedia A compiler is a computer program (or set of programs) that transforms source code writt
我想构建项目,但出现如下错误: 无法执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile
当我通过右键单击项目名称进行 Maven 安装时,出现以下错误: [INFO] Scanning for projects... [WARNING] [WARNING] Some proble
我是 Maven 的新手,我想将我的应用程序导入到 Maven。和以前一样,我想将我的 ejb 项目中的类引用到我的 war 项目中。我在类中没有错误,但是如果我在我的父项目上安装 maven,那么我
当我将 ASP.NET Web 应用程序部署到生产环境时,我使用配置转换来删除 debug="true"来自 .但是,就在今天,我注意到 web.config 中的另一个部分如下所示:
This question already has answers here: Maven Compilation Error: (use -source 7 or higher to enable
我正在使用 Maven 3.0.5 和 Spring Tool Source 3.2 并安装了 Maven 插件。当我尝试执行“运行方式---> Maven 安装”时,出现以下错误: [INFO] S
我试图用 AngularJS 创建我自己的递归指令,它调用自己以漂亮的 JSON 格式转换 View 中的对象。好吧,首先我使用 ng-include 调用带有模板的脚本,在其中使用 ng-if 验证
可以通过 @suppress annotation使用Google的Closure Compiler在每个文件的基础上禁止显示警告。但是,似乎无法同时抑制多个警告-例如globalThis和check
假设一个拥有 10 到 20 年经验的熟练开发人员从未构建过编译器或模拟器,哪一个会更具挑战性? 你能比较一下会成为障碍的问题吗? 谢谢。 最佳答案 仿真和编译是完全不同的,但由于两者都被认为是“低级
最近发现Vim中有一个命令叫compiler。您可以使用任何常见的编译器(例如,:compiler gcc、:compiler php 等)来调用它,但它似乎没有任何立竿见影的效果。 我在联机帮助页上
我试图从 spring.io 指南中部署最简单的应用程序 Guide 但是我有一些麻烦.. 我做了什么: 创建的项目。 (来自 spring.io 教程) 下载 heroku CLI 在 Intell
每当进行 Maven Build..>clean install 时,我都会遇到此错误。我尝试过使用不同版本的插件并添加 testFailureIgnore 属性,但问题仍然存在。请找到下面的 POM
我有一个 web 应用程序,我尝试使用 maven 进行编译,不幸的是,在执行 mvn clean package 时它不起作用。 stackoverflow 上有很多问题看起来都一样,但没有解决了我
我是一名优秀的程序员,十分优秀!