标签: multiplatform

用于iOS和OS X开发的共享代码库

我们有一个相当丰富的电子学习应用程序,主要使用cocos2d构建.目前我们处于alpha状态并希望设置我们的项目结构,因此我们还可以构建一个Mac版本来定位Mac App商店.在UIKit中有大约80%的cocos2d和一些初始屏幕,必须移植到Mac(重写).

从单个代码库中定位Mac和iOS应用商店的建议设置是什么?我假设选择是:

  1. 在同一应用程序源代码根文件夹中创建2个xCode项目,并使用每个项目构建单个目标.这将是:Project.xcodeproj和ProjectMac.xcodeproj
  2. 将新的Mac目标添加到我们现有的iPad应用程序项目中,然后调整目标成员资格以获得所需的结果.这只是:Project.xcodeproj

更复杂的是,我们目前使用cocos2d作为iOS应用程序的静态库.我们还有一个名为CoreInfrastructure的库,它包含我们在所有项目中使用的大量代码.最近我发现我可以创建一个项目来同时构建一个面向Mac的框架和一个基于相同代码库的iOS库.这是通过从框架项目开始并添加目标来为iOS构建静态库来完成的.

所以只是想得到每个人的意见和见解.有人知道在上述选择中要注意的任何警告吗?任何为Mac和iOS应用程序商店构建的人都会同时分享他们的结构吗?在我们的库代码上添加一个目标...是应用程序的方法吗?

是否存在任何选择存档和分发版本的问题?

提前致谢.

macos xcode multiplatform code-sharing ios

14
推荐指数
2
解决办法
5618
查看次数

QTouchEvent而不是Linux上的QMouseEvent

我试图在Qt 5.9中从M3触摸屏处理QTouchEvent.我使用Qt Finger Print示例,它在Windows 7上工作正常但在Ubuntu 16.04上我收到鼠标事件而不是触摸事件.是Qt的错误或错误的操作系统配置?

什么更QTouchDevice::devices().size()总是等于0.

c++ linux qt touchscreen multiplatform

14
推荐指数
1
解决办法
440
查看次数

如何根据我的操作系统包含不同的标题?

我正在编写一个可移植的C++应用程序.如何根据运行的操作系统包含不同的标头.有没有办法在C++中执行此操作,还是必须使用构建系统?

c++ portability cross-platform multiplatform

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

Visual Studio:如何以编程方式检查已使用的C++平台工具集

我必须使用MSVC2012和v100平台工具集(来自MSVC2010)构建项目.不幸的是,我在代码中使用C++ 11功能" 基于范围 ".我想知道是否有一个预处理器指令允许在编译时知道当前的平台工具集.即

#if (_MSC_PLATFORM_TOOLSET > 100)
#   define ALLOW_RANGE_BASED_FOR 1
#else
#   define ALLOW_RANGE_BASED_FOR 0
#endif
Run Code Online (Sandbox Code Playgroud)

我尝试使用_MSC_VER宏,但对于两个平台工具集,它设置为1700(这确实有意义,因为我仍在使用MSVC2012).我很感激任何建议.谢谢.

preprocessor multiplatform visual-c++

13
推荐指数
3
解决办法
9484
查看次数

如何为多平台安装java桌面应用程序?

我们怎么能制作一个jar文件的安装程序,它可以在多平台上运行.有没有简单的方法,因为我不太了解Java.

Balwant

java installer cross-platform multiplatform

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

用什么C++库编写跨平台服务/守护进程?

我想知道哪个库可以简化跨平台服务/守护进程的开发?(C/C++)

我的目标是:Windows,Linux和OS X.要求:网络操作和串口通信.

还有一个基本的样本服务应用程序会很高兴.

c++ service daemon cross-platform multiplatform

10
推荐指数
3
解决办法
6526
查看次数

为什么我的"QTimer只能用于以QThread开头的线程"消息,如果我的代码中没有QTimer?

当(并且仅当)退出我的应用程序时,这些(并且仅这些)重复的消息出现在命令提示符上:

QObject::startTimer: QTimer can only be used with threads started with QThread
QObject::startTimer: QTimer can only be used with threads started with QThread
QObject::startTimer: QTimer can only be used with threads started with QThread
Run Code Online (Sandbox Code Playgroud)

这对我来说很奇怪,因为我从不在我的代码(或QThread)中使用QTimer.事实上,使用该应用程序不会发生任何错误或崩溃,因此实际上这不是一个真正的问题.这种情况发生在Windows和Linux操作系统中.

我所有的进口:

from __future__ import print_function
from PyQt4.QtGui import (QApplication, QMainWindow,
                         QFileSystemModel, QTreeView, QTableView,
                         QAbstractItemView, QMenu, QAction, QKeyEvent)
from PyQt4.QtCore import QDir, Qt, SIGNAL, QString, QFileInfo, QCoreApplication
import sys
Run Code Online (Sandbox Code Playgroud)

主要功能:

def main():
    app = QApplication(sys.argv)
    app.setApplicationName("QFM")
    app.setStyle("plastique")
    gui = MainWindow()
    gui.show()
    app.exec_()
Run Code Online (Sandbox Code Playgroud)

也许它可能是与QFileSystemWatcher相关的东西(由QFileSystemModel使用),我想......也许它使用了一些QTimer功能.

python multiplatform pyqt4 qtimer

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

如何在没有平台依赖性的情况下复制C中的文件?

看起来这个问题非常简单,但我无法找到在没有平台依赖性的情况下在C中复制文件的明确解决方案.

我在我的开源项目中使用了一个system()调用来创建目录,复制文件和运行外部程序.它在Mac OS X和其他Unix-ish系统中运行良好,但在Windows上失败.问题是:

system( "cp a.txt destination/b.txt" );
Run Code Online (Sandbox Code Playgroud)
  • Windows使用反斜杠作为路径分隔符.(vs Unix中的斜线)
  • Windows使用'copy'作为内部复制命令.(vs unix中的cp)

如何编写没有依赖的复制代码?

(其实,我写的宏来解决这个问题,但它是不冷静.http://code.google.com/p/npk/source/browse/trunk/npk/cli/tests/testutil.h,L22-56)

c multiplatform

9
推荐指数
2
解决办法
2752
查看次数

Unity 2D:如何在Unity 2D中支持多平台和不同宽高比设备?

我是Unity 2D的新手并在其中创建游戏.我想在几乎所有设备(Android,iOS,Mac,Windows和网络)上运行该游戏.我很想知道Unity2D将如何处理这种情况并在各种设备上提供相同的用户体验.

另外我注意到我可以用不同的宽高比预览我的游戏.它是屏幕的宽高比(比如游戏在这种类型的屏幕上的外观)还是相机(在所有屏幕上看起来都一样)?我是否需要根据设备的分辨率提供不同的图像资源?

我应该做些特别的事情来支持不同的分辨率,宽高比等吗?

任何帮助将不胜感激.

android multiplatform aspect-ratio unity-game-engine ios

9
推荐指数
1
解决办法
8067
查看次数

Android本机库从aar链接到另一个本机库

我有一个奇怪的问题.我有一个aar库,它包含并使用本机.so库.现在,我想编写另一个lib,它依赖于该库,并且还具有本机部分,具体取决于来自第一个lib的本机lib.依赖库使用第一个lib中的本机代码和java包装器.

我想知道,有没有办法,如何通过标准gradle依赖(从第一个lib复制的头文件)来做到这一点?或者让我直接从源代码构建第二个库?

为什么我需要这个:我们有一个基本功能的多平台lib,对于android as aar.这个lib可以在标准的android应用程序中使用,我们在多个项目中使用它,它没有其他本机代码.

但在一个应用程序中,我们想要编写多平台共享应用程序代码,具体取决于lib,我希望将这些库分开.

谢谢!

c++ java android multiplatform android-ndk

9
推荐指数
2
解决办法
3038
查看次数