小编cho*_*ake的帖子

在 Mac M1 上为目标 x86_64 linux 编译 Rust

我正在尝试在我的 M1 Mac 上为 Linux 的 x86_64 目标编译 Rust 代码。我使用 Docker 来实现这一点。

我的 Dockerfile:

FROM rust:latest AS builder

RUN rustup install stable-x86_64-unknown-linux-musl

RUN rustup target add x86_64-unknown-linux-musl
RUN apt -y update
RUN apt install -y musl-tools musl-dev
RUN apt-get install -y build-essential
RUN apt install -y gcc-x86-64-linux-gnu

ADD ./cargo ./cargo/
WORKDIR /cargo

ENV RUSTFLAGS='-C linker=x86_64-linux-gnu-gcc'
ENV CC='gcc'
ENV CC_x86_64_unknown_linux_musl=gcc-x86-64-linux-gnu
ENV CC_x86_64-unknown-linux-musl=gcc-x86-64-linux-gnu

RUN cargo build --target x86_64-unknown-linux-musl --release
Run Code Online (Sandbox Code Playgroud)

但我会得到错误

发生错误:找不到工具。是否已gcc-x86-64-linux-gnu安装?

我认为应该安装它,因为我安装了它apt install -y gcc-x86-64-linux-gnu

有人知道为什么会发生这种情况吗?


完整输出:

docker …

linux cross-compiling rust docker apple-m1

15
推荐指数
2
解决办法
8815
查看次数

如何用pdf.js搜索?

我正在我的Ionic App中显示带有pdf.js的pdf文件.我不使用viewer.js和viewer.html,因为我需要一个完全不同的布局.现在我有一个自定义搜索栏,我想在我的pdf文件中突出显示术语.我可以调用这个功能吗?

我正在渲染这样的文件:

$scope.renderPages = function(pdfDoc) {
    $scope.pdfFile = pdfDoc;
    for(var num = 1; num <= pdfDoc.numPages; num++){
        pdfDoc.getPage(num).then($scope.renderPage);
    }
}

$scope.renderPage = function(page) {
    var viewport = page.getViewport(1);
    scale = document.getElementById('viewer').clientWidth / viewport.width;
    viewport = page.getViewport(scale);

    var canvas = document.createElement('canvas');
    var ctx = canvas.getContext('2d');
    var renderContext = {
        canvasContext: ctx,
        viewport: viewport
    };

    canvas.height = viewport.height;
    canvas.width = viewport.width;

    var canvasContainer = document.getElementById('viewer');
    canvasContainer.appendChild(canvas);

    page.render(renderContext);
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<div id="viewerContainer" style="padding-bottom: 100%; padding-top: 20px;">
    <div id="viewer" class="viewer-styles">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

javascript angularjs pdf.js ionic-framework

13
推荐指数
2
解决办法
2万
查看次数

Rust 中的 A 型或 B 型

A 有一个结构体,其属性可以有不同的类型

\n
#[derive(Debug, Deserialize, Serialize, Clone)]\npub struct A {\n    pub foo: B |\xc2\xa0C\n}\n\n#[derive(Debug, Deserialize, Serialize, Clone)]\npub struct B {\n    pub bar: usize\n}\n\n#[derive(Debug, Deserialize, Serialize, Clone)]\npub struct C {\n    pub bar2: usize\n}\n
Run Code Online (Sandbox Code Playgroud)\n

Rust 是否有可能实现类似的目标pub foo: B |\xc2\xa0C, so the type will be determined on runtime?

\n

rust

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

动态更改操作栏箭头的颜色

如何动态更改操作栏箭头的颜色?我不想使用像这里那样的主题,因为我的操作栏的颜色也会动态变化。

是否可以?

android themes

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

如何用PDFJS突出显示文本?

我正在创建一个显示PDF文件的应用程序。我需要实现搜索功能,以便可以在pdf文件中搜索术语。要显示文件,我正在使用PDFJS。

pdfjs库中包含一些示例,其中包括呈现页面的组件示例,您可以标记文本(https://github.com/mozilla/pdf.js/tree/master/examples/components)。

但是,当我尝试在我的应用程序中使用此代码时,出现了PDFJS.DefaultTextLayerFactory()未定义的错误。我包括以下三个文件:

<script src="lib/pdfviewer/pdf.js"></script>
<script src="lib/pdfviewer/pdf.worker.js"></script>
<script src="lib/pdfviewer/pdf_viewer.js"></script>
<script src="lib/pdfviewer/compatibility.js"></script>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?为什么PDFJS不知道DefaultTextLayerFactory

html javascript pdf mobile pdfjs

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

飞行前响应不成功

我正在开发一个带有angular的Web应用程序,它向Azure API发送请求.API受角度保护.当我在浏览器中调用url时,我会被重定向到microsoft登录页面.登录后我回到了API.

现在,我想从我的角度应用程序向API发送请求:

const auth = btoa("[my username]:[my password]");
headers = {"Authorization": "Basic " + auth};

$http.get("http://[webapp name].azurewebsites.net/api/contacts", {headers: headers}).then(function (response) {
    console.log("!!!LoggedIn!!!");
});
Run Code Online (Sandbox Code Playgroud)

我在[azure portal]中将[webapp name] .azurewebsites.net添加到我的CORS中.当我执行此操作时,我收到错误:

[错误]无法加载资源:服务器响应状态为400(错误请求)

[错误]无法加载资源:预检响应不成功

[错误] XMLHttpRequest无法加载http:// [webapp name] .azurewebsites.net/api/contacts

azurewebsites.net/api/contacts.飞行前响应不成功

知道怎么解决吗?

UPDATE

我用这段代码再试一次:

const auth = btoa("[my username]:[my password]");
var config = {headers:  {
              'Authorization': 'Basic ' + auth,
              "Origin": "http://[webapp name].azurewebsites.net/api/contacts",
              "Access-Control-Request-Method": "GET",
              "Access-Control-Request-Headers": "X-Custom-Header"
              }
};

$http.get("http://[webapp name].azurewebsites.net/api/contacts", config).then(function (response) {
    console.log("!!!LoggedIn!!!");
});
Run Code Online (Sandbox Code Playgroud)

现在我收到这些错误:

拒绝设置不安全的标题"Origin"

拒绝设置不安全的标题"Access-Control-Request-Method"

拒绝设置不安全的标题"Access-Control-Request-Headers"

对预检请求的响应未通过访问控制检查:请求的资源上不存在"Access-Control-Allow-Origin"标头.因此不允许原点'null'访问.响应具有HTTP状态代码400

当我删除这些"不安全的标题"时,最后一条错误消息仍然存在.

为什么Origin自动为空?

http xmlhttprequest azure angularjs

5
推荐指数
1
解决办法
3万
查看次数

注意何时渲染角度分量及其子级

我有一个角度组件,它又有另一个组件。因此,组件是嵌套的。

我想注意到所有子组件视图均已完全呈现。我尝试了所有生命周期挂钩

ngAfterContentChecked

ngOnChanges

但没有一个人被召集。是否可以识别渲染?

编辑:

我的视图将动态更改。因此,我不仅要在一开始就知道这一点。

我的组件看起来像:

父视图:

<child-1></child-1>
Run Code Online (Sandbox Code Playgroud)

儿童1视图:

<child-2><child-2>
Run Code Online (Sandbox Code Playgroud)

angular2-template angular

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

viewer.js/pdf.js:每次渲染pdf时内存使用量都会增加

我的问题是每次使用viewer.js呈现pdf文件时,我的应用程序的内存使用量都会增加.

我这样渲染我的pdf:

container = document.getElementById('viewerContainer');
viewer = document.getElementById('viewer');

pdfViewer = new PDFViewer({
    container: container,
    viewer: viewer
});

$scope.pdfFindController = new PDFFindController({
      pdfViewer: pdfViewer
});

pdfViewer.setFindController($scope.pdfFindController);

container.addEventListener('pagesinit', function () {
    pdfViewer.currentScaleValue = 'page-width';                            
});

PDFJS.getDocument($scope.getPageLink(pdf)).then(function (pdfDocument) {
    documentPdf = pdfDocument;
    pdfViewer.setDocument(pdfDocument);                       
});
Run Code Online (Sandbox Code Playgroud)

我在单独的视图中呈现文件.当我回到上一个视图并打开另一个文件时,内存使用量增加了大约20MB.

我试过这个:

documentPdf.destroy();
Run Code Online (Sandbox Code Playgroud)

现在,内存使用量略有下降,但没有以前分配的那么多.

这有解决方案吗?

更新:

Pdf.js版本:1.6.210

pdf.js工人版:1.6.210

javascript memory pdf angularjs pdfjs

3
推荐指数
2
解决办法
2577
查看次数

Angular $http 中的重复参数

我想向请求 URL 添加多个具有相同名称的参数。我正在使用 Angular 的$http.

URL 应如下所示: http://myBaseUrl?name1=value1&name1=value2...

我知道当我将值设置为数组时,可以做这样的事情: http://myBaseUrl?name1=value1,value2...

但它必须像第一个一样。

http angular

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